HOWTO · Git

Git で古いコミットにタグを付ける

Git でコミットにタグを付けるさまざまな方法。

このページの内容

この記事では、Git で古いコミットにタグを付けるために必要な手順の概要を説明します。 git tags を使用して、コミット履歴の特定のポイントを重要なものとしてマークします。

通常、git タグ はプロジェクトの安定版リリースまたは重要なマイルストーンを示します。 任意の git commit にどのようにタグ付けしますか?

Git で古いコミットにタグを付ける

コンテキストを簡単にするために、仮説的な状況を使用します。

本番コードが Git リポジトリにあるとしましょう。 プロジェクトの開始以来、私たちはリポジトリにいくつかのコミットを行ってきました。

リポジトリの最初のコミットにタグを付けて、コードの最新の安定バージョンとしてマークします。 これについてどうすればよいでしょうか?

下の画像がコミット履歴を表していると仮定すると、最初のコミットにどのようにタグ付けするのでしょうか?

コミット履歴

コミットにタグを付けるには、-a オプションを付けて git tag コマンドを使用します。 タグ付けしたいコミットの SHA-1 も渡す必要があります。

この場合、以下を実行します。

$ git tag -a v1.0 9d0a878 -m "Stable"

-m フラグを使用して、メッセージをタグに渡します。 以下に示すように、タグをリモート リポジトリにプッシュできます。

$ git push --tags

上記のメソッドは、現在の日付と時刻のタグを作成します。 コミットの日時でタグを作成する場合は、次の手順に従います。

最初に HEAD をタグ付けしたいコミットに移動する必要があります。 以下に示すように、git checkout コマンドを使用します。

$ git checkout 9d0a878

現在のコミットの日付と時刻を取得するには、次を実行します。

$ git show --format=%aD  | head -1
Mon, 8 Aug 2022 14:30:26 +0300

コミットの日付と時刻でコミットにタグを付けるには、次を実行します。

$ GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \
>  git tag -a v1.0 -m"Stable"

その後、タグをリモートにプッシュできます。

$ git push --tags

タグには、コミットの日時が含まれている必要があります。 GitHub でケースを確認しましょう。

私たちの git タグ

簡単に言えば、Git では任意のコミットにタグを付けることができます。 コミットの日付と時刻の有無にかかわらず、古いコミットにタグを付ける方法について説明しました。