Git プルを元に戻す

John Wachira 2023年6月20日
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 Wachira
John Wachira avatar John Wachira avatar

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

関連記事 - Git Pull