Git

Git上でのコミットにタグ付けしてリモートリポジトリに反映してみた

Git上でファイル管理する際に、40桁のコミットIDが自動で採番されるが、このコミットIDにタグ名を付与することで、分かりやすい別名を付けることができる。

今回は、Git上でのコミットにタグ付けしてリモートリポジトリに反映してみたので、その手順を共有する。

前提条件

下記記事の手順を、リモートリポジトリ名=git-tag-pushとして実行済であること。

Gitでプロジェクトを作成しGitHubにpushしてみたGitとは、プログラムのソースコードなどをバージョン管理するためのツールで、多くの開発現場で利用されている。 また、Gitで管理し...

コミット履歴の確認

前提条件に記載した操作を行った後で、コミット履歴を確認した結果は、以下の通り。

1)「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、1回分のコミット履歴が確認できる。
ログの確認_1

2) GitHub上で、リモートリポジトリのコミット履歴を確認するために「1 commit」をクリックした結果は以下の通りで、ローカルリポジトリと同様の1回分のコミット履歴が確認できる。
ログの確認_2_1

ログの確認_2_2
「DesignEvo」は多くのテンプレートからロゴを簡単に作成できるツールだった多くのテンプレートが用意されていてロゴを簡単に作成できるツールの一つに、「DesignEvo」があります。今回は、「DesignEvo」...

コミット操作(2回)を実行後、コミットにタグ付け

コミット内容の変更を確認するため、コミット操作(2回)を実行し、2回分のそれぞれのコミットにタグ付け後、リモートリポジトリに反映する。その手順は、以下の通り。

1) ローカルリポジトリ上で、以下のファイル(add_file_1.txt)を追加する。
タグの追加_1_1

追加したファイルをGit Bash上で確認した結果は、以下の通り。
タグの追加_1_2

2) 追加したファイル(add_file_1.txt)を、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
タグの追加_2

3) ローカルリポジトリ上で、以下のファイル(add_file_2.txt)を追加する。
タグの追加_3_1

追加したファイルをGit Bash上で確認した結果は、以下の通り。
タグの追加_3_2

4) 追加したファイル(add_file_2.txt)を、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
タグの追加_4

5) まだコミットへのタグ付けをしていないので、以下のように「git tag」コマンドを実行すると、何も表示されない。
タグの追加_5

6)「git tag -a (タグ名) -m (タグ付け時のメッセージ)」コマンドを利用すると、直近のコミットに対してタグ付けをすることができる。その後、「git tag」コマンドでタグの一覧表示を、「git show (タグ名)」でタグの詳細表示を確認できる。
タグの追加_6

7)「git log」コマンドで、これまでのコミットの内容とタグ(v1.2)の内容が確認できる。
タグの追加_7

8)「git tag -a (タグ名) -m (タグ付け時のメッセージ) (タグ付けしたいコミットID)」コマンドを利用すると、指定したコミットに対してタグ付けをすることができる。その後、「git tag」コマンドでタグの一覧表示を、「git show (タグ名)」でタグの詳細表示を確認できる。
タグの追加_8

9)「git log」コマンドで、タグ(v1.1)も付与されていることが確認できる。
タグの追加_9

10)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
タグの追加_10

11)「git push origin –tags」コマンドを利用して、全てのタグをリモートリポジトリに反映する。
タグの追加_11

なお、特定のタグのみをpushするには、「git push origin (タグ名)」というコマンドを実行すればよい。

12) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、「Releases」に2つのタグが表示されていることが確認できる。
タグの追加_12_1

タグの追加_12_2

また、GitHub上でのコミット履歴は以下の通りで、ローカルリポジトリと同様の3回分のコミット履歴が確認できる。
タグの追加_12_3

タグの追加_12_4



「Envader」はLinuxコマンドやDatabase SQL等のスキルを、環境構築不要で習得できる学習サイトだった「Envader」は、ITエンジニアとしてよく使うLinuxコマンドやDatabase SQL等のスキルを、解説を読んだ上で、問題を解き...

タグでコミット操作(1回目)に戻す操作の実行と確認

タグを利用してコミット操作(1回目)に戻す操作を実行し確認した結果は、以下の通りで、コミットIDの代わりに作成したタグ(v1.1)を使えることが確認できる。

1)「git log」コマンドを実行して、コミットログを確認した結果は、以下の通り。
コミットの取消_1

2)「git reset –hard (タグ名)」コマンドを実行することで、以下のように、指定したタグのコミットに戻ることが確認できる。
コミットの取消_2

3) 上記コマンド実行後に、Git Bash上で確認した結果は以下の通りで、コミットを取り消したファイル「add_file_2.txt」が削除されていることが確認できる。
コミットの取消_3

4) ローカルリポジトリの内容をリモートリポジトリに反映する処理は、以下のように、「git push origin master」コマンドだと上手くいかない。
コミットの取消_4

5) 強制的に反映する「-f」オプションを付与し「git push -f origin master」コマンドを利用することで、以下のように、ローカルリポジトリの内容をリモートリポジトリに反映することができる。
コミットの取消_5

6) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様に、3回目のコミット履歴が取り消されていることが確認できる。
コミットの取消_6_1

ただし、タグについては、v1.2がそのまま残った状態になっている。
コミットの取消_6_2

https://www.purin-it.com/doctor-homenet

作成したタグの削除

作成したタグは、不要になった場合は削除することができる。タグを削除する手順は、以下の通り。

1)「git tag」コマンドを実行すると、以下のように、タグ(v1.1, v1.2)が残った状態になっていることが確認できる。
タグの削除_1

2)「git tag -d (タグ名)」コマンドを実行すると、以下のように、指定したタグをローカルで削除できることが確認できる。
タグの削除_2

3)「git push -d origin (タグ名)」コマンドを実行すると、以下のように、指定したタグをリモートリポジトリで削除できることが確認できる。
タグの削除_3

4) GitHub上で、リモートリポジトリのタグを確認した結果は以下の通りで、先ほど削除したタグ(v1.2)が削除されていることが確認できる。
タグの削除_4

要点まとめ

  • Gitでファイル管理する際に採番されるコミットIDに、タグ名を付与することで、分かりやすい別名を付けることができる。
  • 指定したコミットに戻すコマンド「git reset –hard (コミットID)」で、コミットIDの代わりにタグ名を利用することもできる。
  • Gitで付与したタグは、削除することができる。