如何删除所有本地提交并转到分支主服务器上的最后一次提交(在远程存储库上)?

时间:2018-04-18 17:05:29

标签: git github

我在存储库中进行了一些更改并注册了一个提交(在本地)。然后我执行了这个:

$ git pull origin master

我的本​​地提交与拉出的提交合并。现在我后悔了。我想得到远程分支主机上的最后一个版本并获取本地提交(已合并)。

我可以通过以下命令更改工作目录:

// the last commit on the remove branch master
$ git checkout 84acc42 .

但是如果我对它进行一些更改并推送它,我猜之前的更改仍然存在并且将作为提交推送。因为该提交存在。

注意$ git reset --hard没有删除任何内容。我执行了该操作,仍然看到了我不想要的更改。

任何想法如何获取远程存储库(分支主服务器)上的最新版本并删除其他所有内容?我可以通过删除本地工作目录并从存储库再次克隆它来做到这一点。但我想知道是否还有其他办法。

1 个答案:

答案 0 :(得分:4)

获取origin / master。

git fetch --all

暂存所有更改。因此,不会留下未跟踪的文件。

git add .

然后,运行reset命令,

git reset origin/master --hard

这将丢弃分支中所做的所有更改,将是origin / master的精确副本。