You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何重置本地Git分支并拉取远程同分支的新变更?

解决本地分支重置并拉取远程最新变更的方案

别慌,这种多人协作时的代码同步场景太常见了,给你两种靠谱的处理方式,按需选择就行:

方案一:直接放弃本地所有未提交变更(确认不需要保留时用)

如果已经和朋友确认本地的修改完全没用了,直接一步到位:

  • 先确保你在目标分支上(比如分支名叫feature-fix),不在的话切换过去:git checkout feature-fix
  • 把本地分支强制重置到远程分支的最新状态:git reset --hard origin/feature-fix

    划重点:--hard参数会彻底清除本地所有未提交的修改,包括你编辑的那个文件的变更,一定要确认这些内容不需要保留再执行

  • 保险起见,再拉取一次远程最新内容(其实重置后已经同步了,这步可选):git pull origin feature-fix

方案二:先暂存本地修改(怕误删时用)

如果不确定以后会不会用到本地的修改,先把它们暂存起来:

  • 暂存所有未提交的变更:git stash
    这时候你的工作区会回到干净的状态,本地修改被临时存在了Git的 stash 栈里
  • 拉取远程分支的最新内容:git pull origin feature-fix
  • 之后如果发现不需要暂存的内容了,就删掉 stash 记录:git stash drop
    要是后悔了,想恢复本地修改,就用git stash pop把暂存的内容恢复回来

额外提醒

如果你的本地已经提交了一些commit,但这些commit也不需要保留,同样可以用git reset --hard origin/你的分支名,它会把本地的commit也回退到远程分支的最新状态,彻底对齐远程代码。

内容的提问来源于stack exchange,提问作者Joe

火山引擎 最新活动