5

Gitプルワークスは更新を表示しません:

sh-3.2$ git pull
Already up-to-date.

git pushを実行すると、エラーが発生します。

sh-3.2$ git push --tags
To user@example.com:some/git/repo
 ! [rejected]        DEVEL_BLEEDINGEDGE -> DEVEL_BLEEDINGEDGE (non-fast-forward)
error: failed to push some refs to 'user@example.com:some/git/repo'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

リベースは同じことを与えます:

sh-3.2$ git pull --rebase
Current branch devel is up to date.

DEVEL_BLEEDINGEDGEタグは、毎日の自動ビルドスクリプトで使用されます。これらのスクリプトを使用して新しいものをデプロイする必要があるたびに、そのタグを次のように移動します。

git tag -f DEVEL_BLEEDINGEDGE

では、なぜタグを押し戻せないのですか?

このエラーは、移動しない他のタグでも時々発生します。

4

1 に答える 1

10

タグを移動したいようです。タグは、リリース1.0など、プロジェクトの特定の状態をマークするように設計されています。これは毎日変更しないでください。とにかくタグを変更(移動)したい場合は、-f(強制)スイッチを2回使用して変更できます。

git tag -f TAG_I_MOVE
git push --tags -f

あなたの場合、私はブランチを使用して「開発者の最先端」をマークします

git branch -f DEVEL_BLEEDINGEDGE HEAD
git push --tags

ここでは、同じ履歴パス内でDEVEL_BLEEDINGEDGEブランチを前方に移動する限り、プッシュ用の「-f」スイッチは必要ありません。

于 2013-03-15T12:23:23.210 に答える