我在本地 master 中有一些旧的本地提交,所以 git status
显示我领先 origin/master 58 个提交。我不关心那些旧的提交,并希望将本地主服务器重置为与远程主服务器保持同步。这样做的首选是什么?另一个分支也是如此。
答案 0 :(得分:1)
如果您不关心当前分支中的任何内容,那么最简单的方法是reset --hard
:
git checkout master
git reset --hard origin/master
这会迫使您的本地 master 在内容和历史上与 origin/master 相似。小心使用...工作树中未提交的任何内容都将按照它在 origin/master 中的方式进行设置。
答案 1 :(得分:0)
在一个命令中,自 Git 2.23 起,使用 git switch -C
:
git switch -C master origin/master
<块引用>
这是一个方便的快捷方式:
$ git branch -f <new-branch>
$ git switch <new-branch>
正如我在“Need to reset git branch to origin version”中所解释的,您仍然需要一个 git clean -f -d
以确保任何新的和未暂存的文件也被删除(它们不会被reset
/switch -C
单独)。
请务必先执行 git clean -n -d
,以便预览将要删除的内容。