我在存储库中进行了一些更改并注册了一个提交(在本地)。然后我执行了这个:
$ git pull origin master
我的本地提交与拉出的提交合并。现在我后悔了。我想得到远程分支主机上的最后一个版本并获取本地提交(已合并)。
我可以通过以下命令更改工作目录:
// the last commit on the remove branch master
$ git checkout 84acc42 .
但是如果我对它进行一些更改并推送它,我猜之前的更改仍然存在并且将作为提交推送。因为该提交存在。
注意$ git reset --hard
没有删除任何内容。我执行了该操作,仍然看到了我不想要的更改。
任何想法如何获取远程存储库(分支主服务器)上的最新版本并删除其他所有内容?我可以通过删除本地工作目录并从存储库再次克隆它来做到这一点。但我想知道是否还有其他办法。
答案 0 :(得分:4)
获取origin / master。
git fetch --all
暂存所有更改。因此,不会留下未跟踪的文件。
git add .
然后,运行reset
命令,
git reset origin/master --hard
这将丢弃分支中所做的所有更改,将是origin / master的精确副本。