[小ネタ] EclipseのEGitでタグを利用する場合の注意

2013.11.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

またとんでもないEclipseの小ネタです

EclipseのGitプラグインでEGitを利用している方は多いかと思います。GitのCommitに対し、タグを利用したところ、EGit経由だとうまく適用されなかったので、こちらに備忘録としてメモしておきます

環境

OS : Windows 7 64bit
IDE : Eclipse Kepler (Version 4.3.1.v20130911-1000)
EGit : EGit (Version 3.0.3.201309161630-r)
Git : version 1.8.1.msysgit.1

タグを作る

EGitのタグはかなり深い階層の場所にメニューがあります

EGit_tag

  1. プロジェクト上でEGitのメニューを開きます
  2. Advancedを選択します
  3. Tagをクリックします

タグを作成します

EGit_tag_01

Advanced以下を展開すると、どのCommitに対してタグをつけるかを選択することができます。ハッシュ値+コメントを参考にタグをつけたいCommitを選択します

EGit_tag_03

OKを押すと、タグが作成されます

EGit_tag_02

RemoteにタグをPushする

いつも通りPushします

EGit_push

おや?更新されていないような気がします。githubの方で確認してみます

git_no_tag

どうやらEGitから通常のPushだと、タグは反映されないようです

コマンドでタグをRemoteへ転送する

EGitではそれっぽい動作の設定が見当たらなかったので、gitコマンドで送信します。

  1. プロジェクトディレクトリ配下へ移動します
  2. git bashを実行します
    git_bash
  3. コマンドを実行します

コマンドは以下の通り。まずはタグを確認します

komuro.hiraku@***** /D/dev/git/AndroidTutorials/CustomTimepicker (master)
$ git tag
experiment_tag_20131113

タグをRemoteにPushします

komuro.hiraku@***** /D/dev/git/AndroidTutorials/CustomTimepicker (master)
$ git push origin --tags
Enter passphrase for key '/c/Users/komuro.hiraku/.ssh/id_rsa':
Counting objects: 1, done.
Writing objects: 100% (1/1), 202 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@github.com:com4dc/AndroidTutorials.git
 * [new tag]         experiment_tag_20131113 -> experiment_tag_20131113

反映されたようです。確認してみましょう

git_yes_tag

ありました。これで全てのタグをRemoteへPushすることができました。お疲れ様でした

まとめ

EGitを使ってる場合は、そのままではタグが反映されないようなので注意しましょう。意外とコマンドだけの方が楽なのかもしれません。変更点の比較やIgnoreの設定等は大変楽なので、それはそれでGUIツールは便利なのですが。

参考