当地分公司: -
'功能/ 100'
远程分支机构: -
'主'
'版本2'
意外,
但是真正的' feature / 100 '应该合并到远程分支' Version2 '
我如何修复(部分): -
我已将功能分支“功能/ 100 ”合并到远程分支“版本2 ”并将其推送到服务器。
git checkout Version2
git merge --squash feature/100
git add .
git commit -m 'New message'
但是我想删除我已经合并并提交给master分支的最后一次推送。怎么样?
旁注我只是一个在这个项目上工作..所以即使推送提交被删除也不会伤害任何其他人
答案 0 :(得分:15)
你可以:
还原您的更改
git revert HEAD
这将创建一个新的提交,它将您刚刚推送到master的更改还原。这是最安全的选择,因为其他人可能已经推迟了你推高的变化。
更改您的提交记录并强行推送更改
您可以删除刚刚推送的提交:
git reset --hard HEAD~1
git push origin master --force
除非您完全确定没有人从主人那里取下您的更改,否则您不想这样做。
有关详细信息,请参阅Delete commits from a branch in Git
答案 1 :(得分:1)
您可以在master上恢复合并提交。当您以后真的想要合并分支时,您必须先恢复恢复。有关详细说明,请参见此处:
http://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt
答案 2 :(得分:0)
可能为时已晚,但如果您想通过一次提交将推送的分支(master
?)倒回,请发出以下命令:
git push origin +master^:master
+
强制推送,master^
描述前一次提交。 :master
推送到远程主分支。