私たちはgitを使うのが初めてなので、リポジトリの最初にタグを設定したいと思います。私たちの本番コードは最初のリポジトリと同じですが、それ以来コミットしています。最初のタグは、プロダクションを既知の安定した状態に「ロールバック」することを可能にします。
では、どのようにして任意の古いコミットにタグを追加するのでしょうか。
# Set the HEAD to the old commit that we want to tag
git checkout 9fceb02
# temporarily set the date to the date of the HEAD commit, and add the tag
GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \
git tag -a v1.2 -m"v1.2"
# set HEAD back to whatever you want it to be
git checkout master
@dkinzerによる答えは、現在の日付(git tag
コマンドを実行したとき)、not、コミットの日付を持つタグを作成します。 tag
のGitヘルプには"On Backdating Tags"というセクションがあります。
他のVCSから変更をインポートし、メジャーリリースの作業用にタグを追加したい場合は、タグオブジェクト内に埋め込む日付を指定できると便利です。タグオブジェクト内のそのようなデータはたとえば、gitwebインターフェース内のタグの順序などです。
将来のタグオブジェクトで使用される日付を設定するには、環境変数
GIT_COMMITTER_DATE
を設定します(可能な値については後述の説明を参照してください。最も一般的な形式は "YYYY-MM-DD HH:MM"です)例えば:
$ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1
"Gitでタグ付けする方法"ページは、HEADコミットの時間を以下の方法で抽出できることを示しています。
git show --format=%aD | head -1
#=> Wed, 12 Feb 2014 12:36:47 -0700
次のようにして特定のコミットの日付を抽出することができます。
GIT_COMMITTER_DATE="$(git show 9fceb02 --format=%aD | head -1)" \
git tag -a v1.2 9fceb02 -m "v1.2"
ただし、コミットを2回繰り返す代わりに、HEADをそのコミットに変更して、両方のコマンドで暗黙的に使用する方が簡単です。
git checkout 9fceb02
GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a v1.2 -m "v1.2"
これを行う最も簡単な方法は
git tag v1.0.0 f4ba1fc
f4ba1fc
はタグ付けしたいコミットのハッシュの先頭、v1.0.0
はタグ付けしたいバージョンです。
使用するコマンド:
git tag v1.0 ec32d32
V1.0はタグ名、ec32d32はタグ付けしたいコミットです。
完了したら、次の方法でタグをプッシュできます。
git Push Origin --tags
参照:
_ ok _ 、あなたは単にすることができます:
git tag -a <tag> <commit-hash>
e50f795
をコミットするために tag: 1.0.2を追加したい場合は、単に以下のようにします。
git tag -a 1.0.2 e50f795
また、最後に-m
を使ってメッセージを追加します。
git tag -a 1.0.2 e50f795 -m "my message"
結局のところ、あなたはそれをremote
にプッシュする必要があります。
git Push Origin 1.0.2
言及したくないタグがたくさんある場合は、単に次のようにします。
git Push Origin --tags
すべてのタグをまとめてプッシュする方法.
また、私はステップのより明確化のために、下の画像でステップを作成しました:
Hub にタグを追加したり、 SourceTree のようなツールを使用して、前の手順を回避することもできます。この場合はmy Bitbucket にログインします。そこから。
No tags
と表示されている場所を見つけ、+
アイコンをクリックします。これは古い質問です、そして答えはすでにすべての仕事を与えました、しかし考慮することができる新しいオプションもあります。
SourceTreeを使用してgitリポジトリを管理している場合は、コミットを右クリックしてタグを追加することができます。もう1回クリックすると、タグをOriginのブランチに直接送信することもできます。
他の人の答えを基にして、タグの日付を実際に発生した日付に設定し、注釈付きタグを使用し、git checkout
を必要としないワンライナーソリューションを次に示します。
tag="v0.1.3" commit="8f33a878" bash -c 'GIT_COMMITTER_DATE="$(git show --format=%aD $commit)" git tag -a $tag -m $tag $commit'
git Push --tags Origin master
tag
は希望するタグ文字列に設定され、commit
はコミットハッシュに設定されます。
@Phrogzによる answer は素晴らしいですが、Windowsでは動作しません。以下は、Powershellを使用して古いコミットにコミットの元の日付をタグ付けする方法です。
git checkout 9fceb02
$env:GIT_COMMITTER_DATE = git show --format=%aD | Select -First 1
git tag v1.2
git checkout master