情况就是这样 我已经对公共回购做出了自己的承诺,客户认为干涉是个好主意。
所以他改变了一些文件,添加了自己的文件并删除了我的一些文件。
要明确的是,我希望将所有内容推送到公共回购中,就像我上次提交时一样,对我自己进行一些细微的更改,并放弃他所做的一切。
当我做git reset --hard <commit_id>
时,我无法推动公开回购。
我也试过git pull origin master --rebase
,但这没有任何影响。
我仍然看到他添加的文件和目录,但仍然删除了。
如何解决此问题以完全恢复并推送上游?
答案 0 :(得分:1)
要将本地副本完全重置为服务器上的内容,您需要先获取最近的提交:
git fetch
然后将您的分支硬重置到远程分支的顶部。假设有问题的分支名为master
,您应首先检查它,然后硬重置为origin/master
:
git checkout master
git reset --hard origin/master
另一方面,如果您想将origin的主分支设置为您的本地分支(不推荐),您可以强行推送:
git push --force