Git リストのコミット

Abdul Jabbar 2023年6月20日
  1. ハッシュをコミットする
  2. コミット履歴を表示する方法
Git リストのコミット

Git は、最も一般的な無料のオープンソースの分散型バージョン管理システムです。 Git の世界で重要な役割を果たすリポジトリがあります。

この Git の機能として、リポジトリは開発者の生活の中で非常に重要です。 開発者は、コミット履歴である Git の機能を通じて、過去を調べ、プロジェクトに対して行われたコミットに関するアイデアを得ることができます。

コミットは、プロジェクトのライフ サイクル中に開発者が行ったファイルのスナップショットです。 各スナップショットは、プロジェクトに関する詳細な情報全体で構成されています。

スナップショット内のすべてのファイルには、特にブロブとして知られる一意の SHA-1 ハッシュという一意の ID があります。 ツリーはこれらのブロブを指定し、コミットはそのツリーを指定します。

ハッシュをコミットする

コミット ハッシュは、commit という単語に続く長い文字列です。 おそらく、Git commit reference または SHA と呼ばれます。

このセクションでは、チーム メンバーとプロジェクトに取り組んでいる間に作成したさまざまなシナリオでコミットを表示する方法を説明します。

コミット履歴を表示する方法

特定のコミットを表示する

Git の便利なコマンド git show を使用して特定のコミットのハッシュ文字列を取得している場合は、特定のコミットを確認する必要があります。これにより、その特定の単一のコミットの変更が表示されます。

以下は、そのコマンドの例です。

git show 5eba8ab3b718a6ab6610186be934ba214e228a58

コミット ハッシュは、すべてのコミット ハッシュが一般的に一意であるため、大きな SHA 全体を指定するのではなく、短時間で使用できます。そのため、いくつかの開始文字/数字を使用でき、結果は同じになります。

最近のコミットのリストを表示

最新のコミットを調べて、プロジェクトに関する最近の詳細を確認したい場合、Git にはこの状況に対応する非常にスムーズなコマンドがあり、非常に使いやすいです。 コミット履歴は、コマンド git log を使用してさまざまな方法で確認できると言えます。

git log

上記のコマンドを実行すると、最近のコミットの時系列リストが時系列で表示され、古いコミットの後に最近のコミットが最初に表示されます。

出力:

commit d240853866f20fc3e536cb3bca86c86c54b487ce
Author: test User <Test@user.media>
Date:   Fri Sept 12 11:44:39 2021 +0100

     commit for the first feature

これにより、開発者の名前、誰がコミットしたか、いつ開発者がコミットしたか、コミット時に入力したメッセージの詳細を含む開発者の電子メール ID など、すべての詳細が表示されます。

ブランチまたはタグに参照されていないコミットを表示

ブランチ ヒントに加えられた変更は、Git の特別な機能である git reflog を通じて追跡できます。 特にローカルに関連しており、リポジトリには関係ありません。

どのブランチにも指定されていない、または名前が付けられていないコミットを表示するのに役立ちます。 多くの Git コマンドにパラメータ ref が付加されているのを見てきました。 このパラメーターは参照を示し、コミットの参照に使用されます。

reflog ファイルは .git/logs/refs/heads/. にあります。これは主に特定のブランチのローカル コミットの履歴を追跡し、git ガベージ コレクションによって破棄されたコミットを除きます。 プロセス。 削除されたブランチとコミットを回復するのに役立ちます。

以下は、私たちが話しているコマンドです。

git log --reflog

上記のコマンドは、reflog によって記述されたすべてのターゲット、つまり git reflog<commit> として表示される指定されたコマンド ラインに記載されていると仮定して、すべての git commit を作成します。

著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

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

関連記事 - Git Commit