没有使用分支的git rebase

时间:2016-10-04 03:21:53

标签: git rebase

假设我没有使用分支(我正在使用本地主分支,其原点是远程服务器上的主分支)。想知道命令的功能是什么?我的困惑有时候我看到人们使用这个命令成功地合并本地更改(在主远程服务器分支上的更改)而不使用分支,但我可能是错的但我认为rebase仅在您处理分支(主)时才有效与其他分支合并?

git rebase -i origin/master 

1 个答案:

答案 0 :(得分:3)

origin/master就像master一样是一个分支。它基本上跟踪远程主站上的任何内容。

当您从git fetch运行master时,它将从远程主控获取所有提交并将其放到origin/master。如果您随后运行git rebase -i origin/master,则会发生这种情况:

  • origin/master以外的所有提交都暂时放好
  • 您的主人已使用origin/master
  • 上的内容进行了更新
  • 您的提交会在更新的master
  • 之上重播

因此,如果您先手动fetch然后rebase,那基本上是手动执行git pull --rebase会做的事情。

顺便说一句,您也可以重新登录自己的分支,例如:git rebase HEAD~2。这将允许您重新排序(或以其他方式编辑)当前分支上的提交。