为什么我需要使用起源/主人而不是主人在rebase
$ git --version
git version 1.7.1
$ git branch -avv
* master 017Fcc0 [origin/master] xxxx
remotes/origin/HEAD -> origin/master
我的理解是,origin/master是远程主分支路径名称,master是我的本地分支名称。我需要将多个本地提交合并为一个,然后使用最新的时间戳提交给远程服务器。以下三个步骤对我很好,但我不明白为什么我需要使用原产地/主人而不是主人。为什么我需要使用起源/主人而不是主人在rebase
a) git rebase --ignore-date origin/master
b) git rebase -i origin/master
c) git push origin master:master
你并不需要向使用原产/主,以多次提交合二为一。但这是一个很好的方法,以避免重写原始记录。
举例来说,如果你的历史看起来像:
5abcde Commit 5 [master] [HEAD]
4abcde Commit 4
3abcde Commit 3
2abcde Commit 2 [origin/master]
1abcde Commit 1
你主人点5abcde
和来源/硕士点3abcde
。 如果您运行git rebase master
,则将您当前的位置(可能已经是主人)重定位在相同的位置,实际上什么都不做。
运行git rebase origin/master
或git rebase 2abcde
提交(2)后,将适用,你有(3,4,5)在提交 - 如果你指定标志-i
让您选择压扁/修正/跳/改写/降/分别选择提交3,4,5。
Git的文档恕我直言,实际上是在解释如何变基工作非常好:https://git-scm.com/docs/git-rebase
也许它可以帮助阅读了一下更多的Git是如何与问候工程,以遥控器:https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes
原点/主点到2abcde。 – q0987
的可能的复制[ “git rebase origin”与“git rebase origin/master”](https://stackoverflow.com/questions/5963597/git-rebase-origin-vs-git-rebase-origin-master) – phd