这是对(Alternative to git rebase)的跟进。
一个远程仓库有两个分支,Master 和 testBranch。testBranch 比 Master 提前了 100 个提交,但比它落后了约 4000 个提交。对 testBranch 进行了更改,但从未合并到 Master。
因此,我想将 testBranch 变基到 master 并提出拉取请求,以便他们审核并合并它。
我执行了以下操作来实现上述目标:
一个远程仓库有两个分支,Master 和 testBranch。testBranch 比 Master 提前了 100 个提交,但比它落后了约 4000 个提交。对 testBranch 进行了更改,但从未合并到 Master。
因此,我想将 testBranch 变基到 master 并提出拉取请求,以便他们审核并合并它。
我执行了以下操作来实现上述目标:
- 派生和本地克隆了 remoteRepo
- git checkout testBranch
- git fetch origin
- git rebase origin/Master
- 解决冲突
git rebase --continue
提示说,No rebase in progress?
。所以我检查了 git status
,On branch testBranch
Your branch and 'origin/testBranch' have diverged,
and have 4737 and 65 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
All conflicts fixed but you are still merging.
(use "git commit" to conclude merge)
然后我执行了git commit
。之后,再次检查了状态。
On branch testBranch
Your branch is ahead of 'origin/testBranch' by 4739 commits.
(use "git push" to publish your local commits)
最后执行了git push
并检查状态
To https://github.com/vishnu/proj.git
8d132f4..c192ff7 testBranch -> testBranch
我手动去了fork后的仓库并检查了一下。它显示Master相对于proj:master落后了大约30个提交,而testBranch则领先于proj:testBranch 4739个提交。
我不知道发生了什么事情。因为我的想法是将testBranch rebase到master上,所以我认为我的fork的master最终应该会有更多的提交,这样我就可以给他们一个pull request。
或者说已经完成的工作是正确的,我应该给这个testBranch进行一个pull request呢?
这里发生了什么事情呢?
任何指导都对我非常有帮助。
git rebase --continue
应该反映出您在主分支上的提交。您确定重定基已完成吗?Git 是否已将testBranch
分支的提交“重演”到master
分支之上? - not_again_stackoverflowmaster
分支变基到了testBranch
分支上,而不是将testBranch
分支变基到了master
分支上。也就是说,您在主分支上执行了git rebase testbranch
,而不是在testBranch
分支上执行git rebase master
。 - Alderathgitk --all
或git log --all --decorate --oneline --graph
命令可视化提交图,并检查您的提交发生了什么。 - user3159253