运行以下步骤后出现以下错误:
To git@provider.com:username/repo-name.git
! [rejected] dev -> dev (already exists)
error: failed to push some refs to 'git@provider.com:username/repo-name.git'
hint: Updates were rejected because the tag already exists in the remote.
Run Code Online (Sandbox Code Playgroud)
dev
:git tag dev
git push --tags
删除标签dev
,再次创建并推送标签:
git tag -d dev
git tag dev
git push --tags
Run Code Online (Sandbox Code Playgroud)为什么会这样?
我在Mac上.我使用Linux(Ubuntu)的朋友没有这个问题.我知道我可以git push --tags -f
用来强制标记更新,但这很危险(例如,只在标记中重写提交,而不是在分支中).
我收到了一些源代码并决定使用git,因为我的同事使用了mkdir $VERSION
等方法.虽然代码的过去目前似乎并不重要,但我仍然希望将其置于git控制之下以更好地理解开发过程.所以:
将这些过去的版本放入我现有的git仓库的简便方法是什么?目前没有远程仓库,所以我不介意重写历史记录,但考虑到远程存储库的解决方案当然是首选,除非它更复杂.基于目录或基于档案文件的历史记录,不需要任何更多交互的脚本的加分点.