git:你的分支和“起源/主”已经分歧 – 如何抛弃本地提交?
我在git中有以下消息:
# Your branch and 'origin/master' have diverged, # and have 3 and 8 different commits each, respectively. # (use "git pull" to merge the remote branch into yours)
我想扔掉3个本地提交,并在原点/主机上提取8个远程提交。
(合并会很困难,我宁愿一旦掌握了最新的信息,就再做三次本地提交。)
我怎样才能做到这一点?
git fetch origin git reset --hard origin/master
如果您需要他们,请将您的旧提交保留在临时分支上:
git branch temp
然后切换到新的主人
git fetch origin git reset --hard origin/master
尝试这样做,吹走你的本地提交:
git reset --hard HEAD~4
作为合并的替代方法,您可以使用以下命令将特征分支重新绑定到master分支上:
git checkout feature git rebase master
如果硬重置并不能为您解决这个问题,而且您不想进行合并,则可以通过删除本地分支并重新下载原始位置来丢弃本地不需要的更改:
git branch -D <local branch> git checkout -b <branch name> origin/<branch name>
以master
为例:
git branch -D master git checkout -b master origin/master
要清除最新的本地提交,请使用以下命令:
git reset HEAD^
这将使头返回到提交之前的状态,并允许你从主控git pull
。 确保在从远程存储库拉出之前,将所有更改保存在别处。
为了能够不冲突地使用git stash
,然后git pull
。