Git pull works没有显示任何更新:
sh-3.2$ git pull
Already up-to-date.
当我进行git推送时出现错误:
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.
Rebasing给出了同样的结果:
sh-3.2$ git pull --rebase
Current branch devel is up to date.
DEVEL_BLEEDINGEDGE标记用于我的每日自动构建脚本,每次我需要使用这些脚本部署一些新东西时我会移动该标记:
git tag -f DEVEL_BLEEDINGEDGE
那么,为什么我不能推回我的标签呢?
我偶尔会得到这个错误,对于其他我也不会移动的标签。
答案 0 :(得分:10)
看起来你想要移动标签。标签旨在标记项目的特定状态,例如1.0版。这不应该每天更改。如果你想改变(移动)一个标签,你可以使用-f(强制)开关两次来完成:
git tag -f TAG_I_MOVE
git push --tags -f
在你的情况下,我会使用分支来标记“开发人员前沿”
git branch -f DEVEL_BLEEDINGEDGE HEAD
git push --tags
只要您在同一历史路径中向前移动DEVEL_BLEEDINGEDGE分支,就不需要“-f”开关进行推送。