我们在Git中有多个分支和标签。我想对以前的标记进行更改并从中取出新标记。要做到这一点,我使用
1)Git reset --hard <tagname>
对文件进行了一些更改
2)git commit
当我试图推送我的更改时,它说
failed to push some refs to ""
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
任何快速帮助
答案 0 :(得分:1)
使用git reset --hard <commit-ish>
,您将当前分支重新指定给给定的提交。如果你想推动这个分支,它当然会说你不应该重写历史。
您可能想要做的是
git checkout <tag>
// do work
git commit -m 'foo'
git tag foo
git push origin foo
答案 1 :(得分:1)
所以基本上你想要撤消共享提交。无论如何,您可以通过强制推送修改后的分支:
git push -f <remote_repo_name> <branch_name>
但是,如果您正在编辑的分支已被其他开发人员使用并合并到其他分支中,那么这非常糟糕