はじめに
Gitは人気のあるプロジェクト追跡アプリケーションです。プロジェクトがさまざまな改訂を経て進行するにつれて、それらの改訂はコミットとして公開されます。 。コミットは、プロジェクトのコピーが特定のポイントに保存されるチェックポイントを表します。
このガイドでは、gitで最後のコミットを元に戻す方法を説明します。
前提条件
- Gitの既存のプロジェクト
- ターミナルウィンドウ/コマンドラインへのアクセス
コミットを元に戻す方法
Gitは、さまざまな履歴コミットからプロジェクトを管理するための多くの機能を提供します。公開済みまたは未公開の以前のコミットを表示して元に戻すことができます。
公開されたコミットを識別して元に戻す方法については、以下をお読みください。また、Gitについて詳しく知りたい場合は、Gitの仕組みに関する記事をご覧ください。
コミットの特定
ハッシュは、各コミットを識別する英数字のコードです。次のコマンドを入力して、コミットハッシュを表示します。
git log
ハッシュは、特定のコミットを表示または管理するために必要です。
以前のコミットからのプロジェクトのステータスを分析するには、checkoutコマンドを使用します:
git checkout [hash]
Gitコマンドでハッシュを使用する場合、ハッシュ全体を入力する必要はありません。 Gitがエントリを正確に識別するには、最初の数文字で十分です。
Gitの元に戻す:最後のGitのコミットを元に戻す
コミットがサーバーにアップロードされると、より永続的なプロジェクトログが作成されます。 リセットを使用することはお勧めしません この場合、他の開発者が更新されたプロジェクトをすでに取得している可能性があるためです。
1つのシステムから更新を削除すると、他のチームメンバーとの競合が発生する可能性があります。代わりに、元に戻すを使用してください コマンド:
git revert [hash]
元に戻すハッシュのコードを必ず入力してください。 元に戻す変更について、特定のコミットメッセージを入力するように求められます。 コマンドが実行されます。
このアクションは、指定したコミットに基づいて、元に戻す
を使用して新しいコミットを作成します 鬼ごっこ。これはログとして機能し、コミットが公開されてから元に戻されたことを示します(決して起こらなかったふりをするのではなく)。
Gitリセット:未公開のコミットを元に戻す
未公開のコミット はGitでコミットされた更新ですが、サーバーにアップロードされていません。変更を加える前に、前のコミットにリセットするには:
git reset --hard [hash]
このコマンドは、スレートをワイプして前のコミットに戻します。 reset --hard
を使用すると、行った変更はすべて失われます。 コマンド。
作業内容を保持したい場合は、 stash
を使用できます。 コマンド:
git stash
git reset --hard [hash]
git stash pop
隠し
コマンドはあなたが行った作業を保存し、 stash pop
リセット後にこれらの変更を取得します。または、次を使用することもできます:
git reset --soft [hash]
このコマンドはコミット履歴をリセットしますが、作業ディレクトリとステージングインデックスはそのままにします。
Git Amend:最後のコミットを変更する
最新のコミットを変更するには、 git commit --amend
を使用します 指図。このコマンドは、スナップショットを変更せずに、最後のコミットを修正されたコミットに置き換えます。
-修正コード>
フラグは通常、小さな間違いを修正するために使用されます。
たとえば、1つのスナップショットでいくつかのファイルをコミットしたいが、コミットする前にファイルの1つを追加するのを忘れたとします。この問題は、 -amend
を使用して簡単に解決できます。 オプション。
まず、次を使用して不足しているファイルを追加します:
git add file2.py
次に、次のコマンドを実行します:
git commit --amend --no-edit
-no-edit
オプションは、コミットメッセージを変更せずにコミットを修正します。