没有使用分支的git rebase
假设我没有使用分支(我在本地主分支上工作,原来是远程服务器上的主分支)。 想知道命令的功能是什么? 我的困惑是有时候我发现人们使用这个命令合并了本地更改(主远程服务器分支上的更改),但没有使用分支,但我可能是错的,但我认为rebase只适用于分支(master)和与其他分支合并?
git rebase -i origin/master
origin/master
是一个像master
一样的分支。 它基本上跟踪远程主机上的任何内容。
当你从master
运行git fetch
,它将从远程主服务器获取所有提交并将其放到origin/master
。 如果你然后运行git rebase -i origin/master
,会发生这种情况:
origin/master
身上的提交都暂时放弃 origin/master
master
上重播 所以,如果您先手动fetch
再rebase
,基本上这就是手工做什么git pull --rebase
会做。
另外,你也可以重新绑定到你自己的分支上,例如: git rebase HEAD~2
。 这将允许您重新排序(或以其他方式编辑)当前分支上的提交。