私はv2.0
というブランチをgerritに持っています。次に、このブランチの現在の統計をv2.0.1
として表示します。
私のローカルリポジトリでブランチをチェックアウトし、次を使用してタグを追加しました
git tag v2.0.1
今、私はそれを強引にプッシュしようとしていますが、方法がわかりません。私はこれを試しました:
$ git Push Origin v2.0.1 HEAD:refs/heads/v2.0
! [remote rejected] v2.0.1 -> v2.0 (prohibited by Gerrit)
タグをプッシュしてどのようにすればいいですか?
いくつかグーグル検索した後、私は答えを見つけました:
gerrit
は注釈付きタグのみを受け入れます。注釈付きタグを作成してプッシュするのは非常に簡単です。
git checkout v2.0
git tag -am "Adding v2.0.1 tag" v2.0.1
git Push Origin v2.0.1 HEAD:refs/heads/v2.0
プロジェクトAccess
をクリックし、次のように権限を追加します。
Reference:
refs/tags/*
Push Annotated Tag
Push Signed Tag
注釈付きタグ:git tag -a "message" tag_name
署名済みタグ:git tag -s tag_name
単純なコマンド:git Push --tags
Cmdを使用してサーバーリポジトリからタグをフェッチする場合:
git fetch --tags
あなたはドキュメントをチェックすることができます:
https://review.typo3.org/Documentation/access-control.html#category_Push_annotatedhttps://review.typo3.org/Documentation/access-control.html#category_Push_signed
タグとブランチはGitで完全に独立した概念であるため、コマンドは意味がありません。タグはコミットにリンクするだけで、リポジトリ全体に適用されます。
タグとブランチはどちらも参照です。タグはコミットへの固定参照と考え、ブランチはコミットのブランチの先端にある移動参照と見なします。
v2.0.1
とタグ付けされたコミットがすでにv2.0
ブランチにある場合、両方をOrigin
にプッシュするだけでよいと思います。そうでない場合は、タグを含むブランチをv2.0
ブランチにマージし、両方をプッシュする必要があります。
軽量タグをプッシュする場合は、参照名refs/tags/*
に「参照の作成」権限を追加する必要があります。CharlesBが言ったように、タグとブランチはどちらも参照であるためです。
「参照の作成」権限を追加した後、git Push --tags
を使用して軽量タグをプッシュできます。