logo

Git ログ

バージョン管理システムの利点は、変更を記録することです。これらのレコードにより、コミットなどのデータを取得し、バグや更新を把握することができます。しかし、私たちがそれをナビゲートできなければ、この歴史はすべて役に立ちません。この時点で、git log コマンドが必要になります。

Git log は、リポジトリで発生したすべての履歴を確認して読み取るためのユーティリティ ツールです。 git log で複数のオプションを使用すると、履歴をより具体的にすることができます。

一般に、git ログはコミットの記録です。 git ログには次のデータが含まれます。

    コミットハッシュ、これは SHA (セキュア ハッシュ アルゴリズム) アルゴリズムによって生成された 40 文字のチェックサム データです。ユニークな番号です。作成者のメタデータをコミットする:著者名やメールアドレスなどの著者情報。コミット日メタデータ: コミット時の日付タイムスタンプです。タイトル/メッセージをコミットする: コミットメッセージに記載されているコミットの概要です。

git log コマンドを終了するにはどうすればよいですか?

git log コマンドを実行してもそこでスタックしてしまうという状況が発生する可能性があります。 bash に入力したり戻ったりしたいのですが、それはできません。をクリックすると、 入力 キーを押すと、終了フラグまで古いコマンドに移動します。

この問題の解決策は、 プレスq (終了のQ) 。この状況から抜け出し、コマンドラインに戻ります。これで、任意のコマンドを実行できるようになります。

基本的な Git ログ

Git log コマンドは、git の最も一般的なコマンドの 1 つです。 Git で最も便利なコマンドです。履歴を確認する必要がある場合は、必ず git log コマンドを使用する必要があります。基本的な git log コマンドは、最新のコミットとヘッドのステータスを表示します。次のように使用されます。

 $ git log 

上記のコマンドは、最後のコミットを表示します。以下の出力を考えてみましょう。

Git ログ

上記のコマンドは、最近のコミットをすべてリストします。各コミットには、SHA アルゴリズムによって生成されるいくつかの一意の SHA-ID が含まれています。日付、時刻、作成者、その他の詳細も含まれます。

コマンドラインでスクロール、ジャンプ、移動、終了などのアクションを実行できます。コマンド ラインでスクロールするには、k を押して上に移動し、j を押して下に移動します。スペースバーを押して 1 ページ分下にスクロールし、1 ページ分上にスクロールし、q を押してコマンド ラインを終了します。

<

Git ログ オンライン

oneline オプションは、出力を 1 行に 1 つのコミットとして表示するために使用されます。また、コミット SHA の最初の 7 文字やコミット メッセージなどの簡潔な出力も表示されます。

次のように使用されます。

 $ git log --oneline 

したがって、通常は --oneline フラグによって git ログが表示されると言えます。

  • 1 行に 1 つのコミット
  • SHA の最初の 7 文字
  • コミットメッセージ

以下の出力を考えてみましょう。

Git ログ 1

上記の出力からより正確にわかるように、すべてのコミットは 7 桁の sha 番号とコミット メッセージを含む 1 行でのみ提供されます。

Git ログの統計

log コマンドは、変更されたファイルを表示します。また、更新された合計レコードの行数と概要行も表示されます。

一般に、stat オプションは表示するために使用されると言えます。

1GBは何MBですか
  • 変更されたファイル、
  • 追加または削除された行の数
  • 変更されたレコードの合計数の概要行
  • 追加または削除された行。

次のように使用されます。

 $ git log --stat 

上記のコマンドは、変更されたファイルを表示します。以下の出力を考えてみましょう。

Git ログ 2

上記の出力から、リストされたすべてのコミットがリポジトリ内の変更であることがわかります。

Git ログ P またはパッチ

git log patch コマンドは、変更されたファイルを表示します。また、追加、削除、更新された行の場所も表示されます。

Java 変数 変数

次のように使用されます。

 $ git log --patch 

または

 $ git log -p 

一般に、 --patch フラグは以下を表示するために使用されると言えます。

  • 変更されたファイル
  • 追加または削除した行の位置
  • 加えられた具体的な変更。

以下の出力を考えてみましょう。

Git ログ 3

上記の出力では、変更されたファイルと、追加または削除された行の位置が表示されます。


Git ログ グラフ

Git log コマンドを使用すると、git ログをグラフとして表示できます。コミットをグラフの形式でリストするには、 --graph オプションを指定して git log コマンドを実行します。次のように実行されます。

 $ git log --graph 

出力をより具体的にするには、このコマンドを --oneline オプションと組み合わせます。次のように動作します。

 $ git log --graph --oneline 

コミット履歴のフィルタリング

ニーズに応じて出力をフィルタリングできます。これは Git のユニークな機能です。出力には、金額、日付、作成者などの多くのフィルターを適用できます。各フィルターには仕様があります。これらは、出力上でいくつかのナビゲーション操作を実装するために使用できます。

これらの各フィルターを詳しく理解しましょう。

金額別:

git log コマンドを使用すると、出力コミットの数を制限できます。最も具体的なコマンドです。コミット数を減らしたい場合は、このコマンドにより複雑さが解消されます。

- オプションを含めて、git ログの出力を制限します。最後の 3 つのコミットのみが必要な場合は、git log コマンドで引数 -3 を渡すことができます。以下の出力を考えてみましょう。

Git ログ 4

上記の出力からわかるように、git log の出力を制限できます。

日付と時刻別:

出力を日付と時刻でフィルタリングできます。合格しなければなりません - 後 または -前に 引数で日付を指定します。これら両方の引数は、さまざまな日付形式を受け入れます。次のように実行されます。

 $ git log --after=&apos;yy-mm-dd&apos; 

上記のコマンドは、指定された日付以降に行われたすべてのコミットを表示します。以下の出力を考えてみましょう。

Git ログ 5

上記のコマンドは、「2019-11-01」以降のすべてのコミットをリストします。

「昨日」、「1 週間前」、「21 日前」などの該当する参照ステートメントを渡すこともできます。次のように実行されます。

 git log --after=&apos;21 days ago&apos; 

上記のコマンドは、21 日前に行われたコミットを表示します。以下の出力を考えてみましょう。

Git ログ 6

2 つの日付間のコミットを追跡することもできます。 2 つの日付の間に作成されたコミットを追跡するには、ステートメント参照を渡します - 前に そして - 後 日付。 「2019-11-01」から「2019-11-08」までのコミットを追跡するとします。次のようにコマンドを実行します。

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

上記のコマンドは、その日付の間に行われたコミットを表示します。以下の出力を考えてみましょう。

Git ログ 7

上記の出力は、指定された期間間のコミットを表示しています。 --after と --before の代わりに --since と --until を使用できます。それぞれ同義語だからです。

if ステートメント Java

著者別:

特定のユーザーごとにコミットをフィルターできます。特定のチームメンバーのみが行ったコミットをリストしたいとします。 -author フラグを使用すると、作成者名でコミットをフィルタリングできます。このコマンドは正規表現を受け取り、そのパターンに一致する作成者によって行われたコミットのリストを返します。パターンの代わりに正確な名前を使用できます。このコマンドは次のように実行されます。

 $ git log --author=&apos;Author name&apos; 

上記のコマンドは、指定された作成者によって行われたすべてのコミットを表示します。以下の出力を考えてみましょう。

Git ログ 8

上記の出力から、作成者によるすべてのコミットが確認できます。 イム・ドウィヴェディ1 が列挙されています。

正規表現や正確な名前の代わりに文字列を使用できます。次のステートメントを考えてみましょう。

 $ git log --author=&apos;Stephen&apos; 

上記のステートメントは、作成者に Stephen という名前が含まれるすべてのコミットを表示します。著者の名前は完全に一致する必要はありません。指定されたフレーズが含まれているだけです。

ご存知のとおり、作成者の電子メールは作成者の名前にも関係しているため、作成者の電子メールをパターンまたは完全検索として使用できます。電子メール サービスが Google である作成者によるコミットを追跡したいとします。そのためには、ワイルドカードを「@gmail.com」として使用します。次のステートメントを考えてみましょう。

 $ git log -author=&apos;@gmail.com&apos; 

上記のコマンドは、パターンで指定された作成者によるコミットを表示します。以下の出力を考えてみましょう。

Git ログ 9

コミットメッセージ別:

コミットメッセージによってコミットをフィルタリングします。 grep オプションを使用すると、author オプションとして機能します。

次のように実行されます。

 $ git log --grep=&apos; Commit message.&apos; 

完全なメッセージの代わりに、短い形式のコミット メッセージを使用できます。以下の出力を考えてみましょう。

Git ログ 10

上記の出力には、コミット メッセージに commit という単語が含まれるすべてのコミットが表示されます。

ファイル名、コンテンツなどでフィルタリングできるように、他にも多くのフィルタリング オプションが利用できます。