Git でコマンド履歴を追跡する
Git は、開発者による変更を記録するバージョン管理システムの 1つです。 これらの記録を通じて、あらゆる種類の以前のコミットを追跡し、どのチームメイトがいつどの変更を行ったか、以前に作成されたバグとどのリリースで発生したか、およびこの手法を使用してさらに多くのことを知ることができます。
Git は、コミットを経時的に追跡するのに役立ちます。これは、Git リポジトリで過去に行った作業の進行状況と履歴を観察するのに役立ちます。 Git のこの履歴はナビゲートされるはずです。 そうでなければ、履歴を保持しても意味がありません。
この目的のために、Git には git reflog
と git log
の 2つの機能があり、履歴を見つけることができます。 これらのコマンドは、表示したい履歴をすばやくナビゲートするのに役立ちます。
この記事では、Git のこれらの機能またはコマンドについて、以下で詳しく説明します。
git log
コマンドを使用して Git のコマンド履歴を追跡する
git log
は、リポジトリで行ったすべての履歴を確認するのに役立つ便利なツールです。 履歴をより具体的かつ要約するために、さまざまな方法でgit log
を使用できます。
過去のコミットを表示して、チームメイトの動き (誰が、どのリポジトリで、いつ、どのタイプのアクティビティを行ったか) を観察できるようにするのに役立ちます。 フィルターを使用してコミット履歴を表示、一覧表示、およびフィルター処理するのに役立ちます。
これにより、各 git commit
をそのハッシュ、それにリンクされているメッセージ、詳細を含むメタデータとともに表示できます。
git log
コマンドは、コミット ハッシュ、参照 ID、コミット メッセージ、作成者、日付、その他のコミット メタデータ、およびブランチ HEAD に属しているかどうかを示します。 これはすべて、デフォルトで次のように行われます。
git log
さまざまなサブコマンドを使用して git log
コマンドの出力をフィルター処理し、必要な研究に関連する情報のみを表示できるようにすることができます。
git log
コマンドを使用してコマンド履歴を除外する
過去のコミットから特定のメッセージを検索する必要がある場合は、次のコマンドを使用する必要があります。
git log --grep="Cat"
上記のコマンドは、過去のコミット履歴から Cat
という単語を検索し、一致するすべてのコミットとともに結果をユーザーに表示します。
git reflog
コマンドを使用して Git のコマンド履歴を追跡する
参照ログは、Git では reflogs
としても知られています。 このコマンドは、ブランチの先端に加えられた更新と、リポジトリの同じブランチに対する他のコミットを追跡するために使用されます。
過去に記録された情報を管理するのに役立ちます。 Git のどのブランチやタグからも参照されていないコミットを確認するのに役立ちます。
ブランチの古い状態に戻りたい場合は、履歴を書き換えた後に可能です。 reflog
を使用すると、必要なときにいつでもそこに戻り、現在のヘッドをそれに設定できます。
Git で行うすべての作業は、reflog
内に存在すると言えます。 reflog
を介してアクセスできます。
何らかの理由でブランチの先端を更新するたびに、reflog
はこのエントリをそこに追加し、それに従って参照を更新します。
git reflog
コマンドは、デフォルトで HEAD
参照の出力を提供します。これは次のように使用されます。
git reflog
git reflog
コマンドは、以下にリストされているコマンドの短縮形です。
git reflog show HEAD
上記のコマンドは、Head reflog
を表示します。
git reflog
コマンドを使用してコマンド履歴を表示する
以下のコマンドは、デバイスのローカル リポジトリの reflog
を表示します。
git reflog --relative-date
上記のコマンドは、目的の日付情報 (たとえば、3 週間前) を含む reflog
を表示します。
次のコマンドは、過去のすべての参照の完全な reflog
を取得するために実行されます。
git reflog show --all
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn