【问题标题】:Reset local branch (master) to the state of the remote branch (master) [duplicate]将本地分支(主)重置为远程分支(主)的状态[重复]
【发布时间】:2021-09-23 19:30:50
【问题描述】:

我在本地 master 中有一些旧的本地提交,所以 git status 表明我比 origin/master 领先 58 个提交。我不关心那些旧的提交,并且想将本地主机重置为与远程主机同步。这样做的首选是什么?另一个分支也是如此。

【问题讨论】:

  • @SwissCodeMen,谢谢,它回答了这个问题,修改如下 eftshift0 的回答。我应该自己找到的。

标签: git


【解决方案1】:

如果您不关心当前分支中的任何内容,那么最简单的方法是reset --hard

git checkout master
git reset --hard origin/master

这迫使您的本地主人在内容和历史上都像起源/主人一样。小心使用...工作树中未提交的任何内容都将按照其在 origin/master 中的方式设置。

【讨论】:

    【解决方案2】:

    在一个命令中,从 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,以便预览了解将要删除的内容。

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 2021-09-13
      • 1970-01-01
      • 2011-09-07
      • 2015-10-01
      • 2020-06-11
      • 2018-09-29
      • 2022-01-06
      • 2020-10-11
      相关资源
      最近更新 更多