Git プルを元に戻す
この記事では、git pull
コマンドの効果を元に戻す方法について説明します。 git pull
コマンドによってリポジトリ内のファイルが変更されたが、それらを以前の状態に復元したい場合があります。
この記事では、リポジトリを元に戻す手順について説明します。
Git プルを元に戻す
git pull
コマンドは、git fetch
コマンドと git merge Fetch_HEAD
コマンドを組み合わせたものです。 リモート リポジトリから変更を取得し、現在のローカル ブランチにマージします。
リモート ブランチの先端にあるものはすべて、ローカル ブランチにマージされます。
git log --oneline
コマンドを実行すると、リモート リポジトリからの新しいコミットが表示されます。 この時点で、リポジトリは HEAD
にあります。
リポジトリを HEAD~1
にロールバックする必要があります。 親は、リモート リポジトリからの新しいコミットをコミットします。 これにはいくつかの方法があります。
以下に示すように、git reset
コマンドを使用できます。
$ git reset --hard HEAD~1
git reset --hard
コマンドは、リポジトリ内のコミットされていない変更をすべて破棄します。
親コミットの SHA-1
を使用することもできます。 例を見てみましょう。
git pull
コマンドを実行した後のリポジトリのコミット履歴は次のとおりです。
$ git log --oneline
3b65c8e Update README.md
16b997a Update LICENSE.md
SHA-1
を使用して親コミットに移動するには、次を実行します。
$ git reset --hard 16b997a
特定の時点にリセットすることもできます。 20 分前に git pull
を実行した場合は、以下のコマンドを実行して古いバージョンのリポジトリを復元できます。
$ git reset --hard master@{"20 minutes ago"}
リモート リポジトリから変更をプルした後、git reset --hard
コマンドを使用してリポジトリを以前のバージョンに戻すことができます。 このコマンドは変更も破棄するため、コミットされていない作業は隠しておきます。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn