我如何删除所有本地提交并回到远程仓库上分支master的最后一次提交?

9 浏览
0 Comments

我如何删除所有本地提交并回到远程仓库上分支master的最后一次提交?

这个问题已经有答案了::

如何强制执行 \"git pull\" 覆盖本地文件?

我在仓库里进行了一些更改并注册了一个提交 (在本地)。然后我执行了这个操作:

$ git pull origin master

我的本地提交与拉取的提交合并了。现在我后悔了。我想要获取远程分支 master 上的最新版本并摆脱本地提交 (已合并的提交)。

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

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

但如果我对它进行一些更改并推送它,我想之前的更改仍然存在,并且将被推送为一个提交。因为已经存在一个提交。

请注意,$ git reset --hard 不会删除任何东西。我执行了这个操作,仍然看到了我不想要的更改。

有什么办法可以让我获取远程仓库 (分支主) 中的最新版本并删除其他所有内容吗? 我可以通过删除本地工作目录并再次从仓库克隆来实现这一点。但我想知道是否还有另一种方法。

admin 更改状态以发布 2023年5月23日
0
0 Comments

获取 origin/master。

git fetch --all

将所有更改进行暂存。这样,不会留下任何未跟踪的文件。

git add .

然后,运行 reset 命令,

git reset origin/master --hard

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

0