はじめに
🧑💻 Git や LabEx の初心者ですか? Git のクイックスタート コースから始めることをお勧めします。
Git は、開発者がコードベースの変更を追跡できる強力なバージョン管理システムです。ただし、時々間違いを犯してしまい、行った変更を元に戻す必要がある場合があります。Git には変更を元に戻すためのいくつかの方法がありますが、行ったすべての操作を追跡するのは難しい場合があります。このチャレンジでは、git reflog コマンドを使用して Git の「元に戻す」履歴を表示する方法を学びます。
「元に戻す」履歴を表示する
開発者として、コードベースに対して行った変更を元に戻す必要がある場合があります。Git には、git reset や git revert コマンドなど、変更を元に戻すためのいくつかの方法があります。ただし、特に git rebase のような高度なコマンドを使用した場合、行ったすべての操作を追跡するのは難しい場合があります。ここで git reflog コマンドが役に立ちます。
git reflog コマンドは、Git の参照ログを表示します。これは、リポジトリで行ったすべての操作の記録です。これには、コミットだけでなく、ブランチのマージ、再ベース、リセットなどの他の操作も含まれます。参照ログを表示することで、コミット履歴に表示されない場合でも、リポジトリに対して行ったすべての変更の完全な履歴を確認できます。
Git の「元に戻す」履歴を表示するには、git reflog コマンドを使用できます。リポジトリにいくつかの変更を加え、それらを元に戻したいとしましょう。
- コマンドラインを使用してリポジトリに移動します。
cd git-playground
- 今、間違いを犯したことに気づき、最後のコミットを元に戻したいとします。これを行うには、
git resetコマンドを使用できます。
git reset HEAD~1
- このコマンドを実行した後、また別の間違いを犯していることに気づき、リセットを元に戻したい場合があります。ここで
git reflogコマンドが役に立ちます。これを使用して参照ログを表示し、前のコミットのコミットハッシュを見つけることができます。
git reflog
これにより、リポジトリで行ったすべての操作のリストが表示され、リセットも含まれます。
cf80005 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1
d22f46b (origin/master, origin/feature-branch, origin/HEAD) HEAD@{1}: clone: from https://github.com/labex-labs/git-playground.git
- この出力から、前のコミットハッシュが
d22f46bであることがわかります。このハッシュを使用して、リポジトリを前のコミットに戻すことができます。
git reset d22f46b
- 履歴のコミットレコードを表示して結果を確認します。
git log
まとめ
このチャレンジでは、git reflog コマンドを使用して Git の「元に戻す」履歴を表示する方法を学びました。参照ログは、コミット、マージ、再ベース、リセットなど、リポジトリで行ったすべての操作の記録です。参照ログを表示することで、コミット履歴に表示されない場合でも、リポジトリに対して行ったすべての変更の完全な履歴を確認できます。これは、コードベースに対して行った変更を元に戻す必要がある場合に特に役立ちます。