如何快速向前迈进一个分支?

我在一个分支上长时间开发之后切换到了主人。 日志显示:

你的分支由167个提交后面的'origin / master',可以被快速转发。

我试过了:

git checkout HEAD 

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

如何让主人留在头上?

这样做:

 git checkout master git pull origin 

将获取并合并origin/master分支(你可以说git pull是原点是默认的)。

尝试混合git merge origin/master 。 如果你想确保它只是一个快进,你可以说git merge --ff-only origin/master

在你的情况下, git rebase也可以做到这一点。 由于你没有主人没有的变化,所以git只会快进。 如果您正在使用rebase工作stream,那么这可能是更明智的做法,因为如果您搞砸了,最终不会有合并提交。

 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 

应该做这个工作。

每当你在一个不同于主人的分支上工作时,你会得到“你的分支在后面”的信息,有人对主人做了改变,而你却在拉你。

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

现在起始/主引用被拉,但你的主人没有合并

 (branch) $ git checkout master (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 

现在你的主人和起源/主人是同步的

如果你站在不同的分支上,想要检出最新的版本,你也可以做

git checkout -B master origin/master

没有任何复杂的要求,只要站在你的分支,做一个混帐拉它为我工作

或者,作为第二次尝试git拉起源的主人 ,以防万一,如果你是不幸的第一个命令

将你的早午餐指针移到HEAD:

 git branch -f master 

你的分支master已经存在了,所以git不会允许你覆盖它,除非你使用… -f (这个参数代表--force

或者你可以使用rebase:

 git rebase HEAD master 

自行承担风险;)