如何快速向前迈进一个分支?
我在一个分支上长时间开发之后切换到了主人。 日志显示:
你的分支由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
自行承担风险;)