在一个分支上开发了很长一段时间后,我切换到了master。日志显示:

你的分支比“origin/master”慢了167次提交,并且可以快进。

我试着:

git checkout HEAD

它没有任何效果。这是因为我在master上签出了一个中间提交。

我怎样才能使主人保持头脑清醒?


当前回答

做的事情:

git checkout master
git pull origin

将获取并合并origin/master分支(你可能会说git pull as origin是默认的)。

其他回答

尝试git合并origin/master。如果你想确保它只做快进,你可以说git merge——ff-only origin/master。

git checkout master
git pull

应该做这份工作。

每次当你在不同于master的分支上工作时,你都会得到“你的分支落后”消息,有人对master进行了更改,而你git拉。

(branch) $ //hack hack hack, while someone push the changes to origin/master
(branch) $ git pull   

现在,源/主引用被拉出,但您的主引用没有与其合并

(branch) $ git checkout master
(master) $ 

现在master在origin/master后面,可以快速前进了

this will pull and merge (so merge also newer commits to origin/master)
(master) $ git pull 

this will just merge what you have already pulled
(master) $ git merge origin/master

现在你的master和原点/master是同步的

在我的方式,它返回所有改变的头,是最快的方式:

git fetch origin master
git reset --hard FETCH_HEAD
git clean -df

将分支指针移动到HEAD:

git branch -f master

你的分支主机已经存在,所以Git不允许你覆盖它,除非你使用…-f(这个参数代表——force)

或者你可以使用rebase:

git rebase HEAD master

请自行承担风险;)

如果你在树枝后面的某个地方, 更安全的做法是将你所做的任何局部更改重新设置为:

git pull --rebase

这有助于防止不必要的合并提交。

(这与执行git fetch && git rebase相同。)