我团队中的开发人员将更改提交到了错误的远程存储库。我想删除他推送到远程存储库上的此存储库的内容。我不想在当地改变任何东西。
因此我怎么能:
列出远程存储库分支上的提交,以便我可以看到需要删除哪些已推送的提交。
删除远程存储库分支上的每个提交,以便我可以在推送更改之前返回提交。
我不确定“删除”是否是正确的进程,或者它是否意味着“恢复”但最终我需要远程存储库分支回到他推动更改之前的位置。
答案 0 :(得分:5)
标记该分支的最后位置
git tag original-master origin/master
检查从服务器获得的内容:
git fetch
git log --all --graph
或
gitk --all
如果你的标签仍然有意义,那就是远程分支应该在哪里,强行推动它:
git push -f origin original-master:master
如果是另一次提交,请将该提交作为主提交:
git push -f origin <some SHA1>:master
清理:
git tag -d original-master
自修复以来更新跟踪分支:
git fetch
这假定“master”是有问题的分支。如果是另一个,请将“master”替换为正确的分支名称。