Git还原或硬重置

时间:2016-01-21 18:46:30

标签: git repository bitbucket

情况就是这样 我已经对公共回购做出了自己的承诺,客户认为干涉是个好主意。

所以他改变了一些文件,添加了自己的文件并删除了我的一些文件。

要明确的是,我希望将所有内容推送到公共回购中,就像我上次提交时一样,对我自己进行一些细微的更改,并放弃他所做的一切。

当我做git reset --hard <commit_id>时,我无法推动公开回购。

我也试过git pull origin master --rebase,但这没有任何影响。

我仍然看到他添加的文件和目录,但仍然删除了。

如何解决此问题以完全恢复并推送上游?

1 个答案:

答案 0 :(得分:1)

要将本地副本完全重置为服务器上的内容,您需要先获取最近的提交:

git fetch

然后将您的分支硬重置到远程分支的顶部。假设有问题的分支名为master,您应首先检查它,然后硬重置为origin/master

git checkout master
git reset --hard origin/master

另一方面,如果您想将origin的主分支设置为您的本地分支(不推荐),您可以强行推送:

git push --force