重要なマイルストーンのマーキング

GitGitBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Git エクスプローラー、ようこそ!今日は、Git の最も便利な機能の 1 つである、プロジェクトの履歴における重要なポイントをマークするためのタグについて掘り下げていきましょう。リリース バージョンなど、プロジェクトの重要なマイルストーンに簡単にマークして戻れるようになりたいことがあったなら、Git タグがまさにあなたが探していたものです。

Git のタグは、プロジェクトのタイムライン上の案内標のようなものです。リポジトリの履歴における特定のポイントを重要であるとマークすることができます。これは、リリース ポイント (v1.0、v2.0 など) や、プロジェクトにおけるその他の重要なマイルストーンをマークする際に特に役立ちます。

この実験では、以下の内容を扱います。

  1. 軽量タグの作成:迅速で簡単なタグ
  2. 注釈付きタグの作成:Git データベース内のより詳細な完全オブジェクト
  3. タグの一覧表示:リポジトリ内のすべてのタグを表示する方法
  4. タグのチェックアウト:特定のタグ付きポイントでプロジェクトを表示する方法
  5. タグの削除:不要になったタグを削除する方法

この実験が終了するまでに、Git プロジェクトでタグを作成、管理、使用することに慣れているようになります。これにより、プロジェクトの履歴を整理し、開発プロセスにおける重要なポイントを簡単に参照するための強力なツールが手に入ります。

さあ、始めて Git タグの世界への旅に出ましょう!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/checkout("Switch Branches") git/BranchManagementGroup -.-> git/tag("Git Tags") subgraph Lab Skills git/init -.-> lab-387493{{"重要なマイルストーンのマーキング"}} git/commit -.-> lab-387493{{"重要なマイルストーンのマーキング"}} git/checkout -.-> lab-387493{{"重要なマイルストーンのマーキング"}} git/tag -.-> lab-387493{{"重要なマイルストーンのマーキング"}} end

作業環境のセットアップ

タグ付けを始める前に、タグ付けするためのコミットが含まれる作業環境をセットアップしましょう。新しいディレクトリを作成し、Git リポジトリを初期化し、プロジェクトの開発をシミュレートするために複数のコミットを含むいくつかのファイルを追加します。

ターミナルを開き、次のコマンドを入力します。

cd ~/project
mkdir git-tags-lab
cd git-tags-lab
git init

次に、いくつかのファイルを作成して一連のコミットを行いましょう。次のコマンドをコピーして貼り付けることができます。

echo "## My Awesome Project" > README.md
git add README.md
git commit -m "Initial commit"

echo "function greet(name) { console.log('Hello, ' + name + '!'); }" > app.js
git add app.js
git commit -m "Add greeting function"

echo "const PI = 3.14159;" >> app.js
git add app.js
git commit -m "Add PI constant"

echo "function calculateArea(radius) { return PI * radius * radius; }" >> app.js
git add app.js
git commit -m "Add area calculation function"

先ほど行ったことを分解してみましょう。

  1. README ファイルを作成し、初期コミットを行いました。
  2. 挨拶関数を含む JavaScript ファイルを作成し、コミットしました。
  3. 同じファイルに PI 定数を追加し、コミットしました。
  4. 最後に、面積計算関数を追加してコミットしました。

これで、タグ付けするための履歴が含まれるリポジトリができました!

軽量タグの作成

まずは軽量タグを作成しましょう。軽量タグは基本的に特定のコミットへのポインタであり、変更されないブランチのように考えることができます。作成と使用が簡単であるため、一時的または個人用に最適です。

軽量タグを作成するには、git tag コマンドの後にタグ名を指定します。

git tag v0.1

これにより、v0.1 という名前のタグが作成され、現在のコミット (HEAD) を指します。

過去のコミットに対してもコミット ハッシュを指定することで軽量タグを作成することができます。

git log --oneline
8197680 (HEAD -> master, tag: v0.1) Add area calculation function
d93ae1c Add PI constant
7411f09 Add greeting function
35d7df5 Initial commit

これにより、コミットの一覧が表示されます。「Add greeting function」コミットのハッシュをコピーします。この場合、7411f09 です (実際のハッシュを使用してください)。

q を押してログ表示を終了し、そのコミットに対してタグを作成します。

git tag v0.0.1 <commit-hash>

<commit-hash> を見つけた実際のハッシュに置き換えます。

git tag
v0.0.1
v0.1

軽量タグは一時的なマーカーや個人用には便利です。ただし、追加情報を格納しません。より堅牢なタグ付け、特に公開リリース用には、次に説明する注釈付きタグを使用することが好ましい場合があります。

注釈付きタグの作成

注釈付きタグは、Git データベース内の完全なオブジェクトとして保存されます。タグ付け者の名前、メールアドレス、日付、およびタグ付けメッセージが含まれています。また、GNU Privacy Guard (GPG) を使用して署名および検証することもできます。このため、公開リリースや追加情報を含めたいタグに最適です。

注釈付きタグを作成するには、git tag-a フラグを使用します。

git tag -a v1.0 -m "First major release"

これにより、「First major release」というメッセージ付きで v1.0 という名前の注釈付きタグが作成されます。

注釈付きタグの詳細を表示するには、git show コマンドを使用します。

git show v1.0

これにより、タグ付け者情報、コミットがタグ付けされた日付、注釈メッセージ、およびコミット情報が表示されます。

注釈付きタグは、より多くの情報を含み、検証できるため、公開リリースにおすすめです。「この履歴上のポイントは重要で、その理由はここにあります」という表現の方法です。

タグの一覧表示

プロジェクトが成長するにつれて、かなりの数のタグが蓄積される場合があります。Git は、タグの一覧表示と検索を簡単に行う方法を提供しています。

リポジトリ内のすべてのタグを一覧表示するには:

git tag

これにより、すべてのタグがアルファベット順に表示されます。

特定のパターンに一致するタグを検索したい場合は、ワイルドカード付きで -l (または --list) オプションを使用できます。

git tag -l "v1.*"

これにより、「v1.」で始まるすべてのタグが一覧表示されます。

注釈付きタグの注釈メッセージを含む、タグに関するより詳細な情報を取得するには:

git tag -n

これにより、タグとその注釈メッセージの最初の行 (または軽量タグのコミットメッセージ) が一緒に一覧表示されます。

忘れないでください。タグは自動的にリモート リポジトリにプッシュされません。タグを共有したい場合は、明示的にプッシュする必要があります。これについては、次の実験で扱います。

タグのチェックアウト

タグの最も便利な機能の 1 つは、特定のタグの状態でプロジェクトを簡単に表示できることです。これは、特定のバージョンからのバグの再現やリリースに含まれる正確なコードのレビューなどに役立ちます。

タグをチェックアウトするには、git checkout コマンドを使用できます。

git checkout v1.0

これにより、リポジトリが v1.0 が指すコミットで「分離ヘッド (detached HEAD)」状態になります。これは、あなたが周りを見回り、実験的な変更を加えてコミットし、この状態で行ったコミットをすべて破棄してもブランチに影響を与えないことを意味します。

変更を加えて、これらの変更を保持するための新しいブランチを作成したい場合は、次のコマンドを使用できます。

git checkout -b branch-name v1.0

これは、v1.0 タグでのプロジェクトの状態に基づいて、branch-name という名前の新しいブランチを作成します。

特定のタグでコードを表示し終えたら、次のコマンドでメイン ブランチの最新状態に戻ることができます。

git checkout master

分離ヘッド状態にあるときは注意してください。別のブランチをチェックアウトするとき、明示的に新しいブランチを作成して保持しない限り、行ったコミットはすべて孤立 (どのブランチにも属さない) します。

タグの削除

時には、タグを削除する必要がある場合があります。たとえば、誤って作成されたり、もはや関連がなくなったりした場合です。Git はタグの削除を簡単に行えるようにしています。

ローカル リポジトリのタグを削除するには、次のコマンドを使用できます。

git tag -d v0.0.1

これにより、ローカル リポジトリから v0.0.1 というタグが削除されます。

タグを削除する際は注意してください。他のユーザーがこれらのタグを参照ポイントとして使用している場合があります。共有タグを削除する前に、チームと連絡を取るのが一般的な良い作法です。

まとめ

おめでとうございます、Git タグ付けユーザー!Git でタグを使用する技術をマスターしました。ここで扱った重要な概念を振り返りましょう。

  1. 軽量タグの作成:一時的または個人用のための、迅速で簡単なタグ。
  2. 注釈付きタグの作成:追加のメタデータ付きの、より詳細なタグ。リリースなどの重要なマイルストーンをマークするのに最適。
  3. タグの一覧表示:リポジトリのタグを表示および検索する方法。
  4. タグのチェックアウト:特定のタグの状態でプロジェクトを表示する方法。
  5. タグの削除:もはや必要ないときにタグを削除する方法。

タグは、Git の強力な機能であり、プロジェクトの履歴における重要なポイントをマークすることができます。特に、リリースポイントやその他の重要なマイルストーンをマークするのに役立ちます。

覚えておいてください。

  • 一時的または個人用の参照ポイントとして軽量タグを使用します。
  • 公開リリースやタグに追加情報を含めたいときに注釈付きタグを使用します。
  • タグをチェックアウトした後の分離ヘッド状態では注意してください。
  • タグを削除する際は注意してください。特に、共有リポジトリにプッシュされている場合。

Git の旅を続けるにつれて、タグはプロジェクトのタイムラインを管理するための貴重なツールであることがわかります。明確な参照ポイントを提供し、あなたとあなたのチームがプロジェクトの履歴を簡単に辿ることができます。

楽しいタグ付けを!そして、あなたのプロジェクトのマイルストーンが常に明確にマークされていますように!