在一个分支上开发了很长一段时间后,我切换到了master。日志显示:
你的分支比“origin/master”慢了167次提交,并且可以快进。
我试着:
git checkout HEAD
它没有任何效果。这是因为我在master上签出了一个中间提交。
我怎样才能使主人保持头脑清醒?
在一个分支上开发了很长一段时间后,我切换到了master。日志显示:
你的分支比“origin/master”慢了167次提交,并且可以快进。
我试着:
git checkout HEAD
它没有任何效果。这是因为我在master上签出了一个中间提交。
我怎样才能使主人保持头脑清醒?
当前回答
如果你在树枝后面的某个地方, 更安全的做法是将你所做的任何局部更改重新设置为:
git pull --rebase
这有助于防止不必要的合并提交。
(这与执行git fetch && git rebase相同。)
其他回答
在我的方式,它返回所有改变的头,是最快的方式:
git fetch origin master
git reset --hard FETCH_HEAD
git clean -df
在你的情况下,git rebase也会奏效。因为你没有master没有的更改,git会快进。如果你正在使用一个rebase工作流,这可能是更可取的,因为如果你搞砸了,你就不会以合并提交告终。
username@workstation:~/work$ git status
# On branch master
# Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
nothing to commit, working directory clean
username@workstation:~/work$ git rebase
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
# On branch master
nothing to commit, working directory clean
做的事情:
git checkout master
git pull origin
将获取并合并origin/master分支(你可能会说git pull as origin是默认的)。
如果你在树枝后面的某个地方, 更安全的做法是将你所做的任何局部更改重新设置为:
git pull --rebase
这有助于防止不必要的合并提交。
(这与执行git fetch && git rebase相同。)
将分支指针移动到HEAD:
git branch -f master
你的分支主机已经存在,所以Git不允许你覆盖它,除非你使用…-f(这个参数代表——force)
或者你可以使用rebase:
git rebase HEAD master
请自行承担风险;)