Git Reverse to Tag以及对它的一些更改并推送错误

时间:2017-02-10 12:31:40

标签: git github

我们在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.

任何快速帮助

2 个答案:

答案 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>

但是,如果您正在编辑的分支已被其他开发人员使用并合并到其他分支中,那么这非常糟糕