检查:git rebase 是否完成?

4
这是对(Alternative to git rebase)的跟进。
一个远程仓库有两个分支,Master 和 testBranch。testBranch 比 Master 提前了 100 个提交,但比它落后了约 4000 个提交。对 testBranch 进行了更改,但从未合并到 Master。
因此,我想将 testBranch 变基到 master 并提出拉取请求,以便他们审核并合并它。
我执行了以下操作来实现上述目标:
  1. 派生和本地克隆了 remoteRepo
  2. git checkout testBranch
  3. git fetch origin
  4. git rebase origin/Master
  5. 解决冲突
但当我正在解决冲突时,运行 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_stackoverflow
1
不是很清楚,但看起来在rebase期间,master分支上有一些额外的提交。请先pull并再次进行rebase。 - Sam Varshavchik
1
那看起来你做的是合并(merge),而不是变基(rebase)。虽然所有冲突已解决,但你仍在合并中。(使用“git commit”来结束合并) - Edward Thomson
另一个可能性是,您错误地将master分支变基到了testBranch分支上,而不是将testBranch分支变基到了master分支上。也就是说,您在主分支上执行了git rebase testbranch,而不是在testBranch分支上执行git rebase master - Alderath
尝试使用 gitk --allgit log --all --decorate --oneline --graph 命令可视化提交图,并检查您的提交发生了什么。 - user3159253
1个回答

0

你将testBranch变基到了master分支上,创建了一个新的历史记录,你的100个提交被放在了4000多个来自master分支的更改之上。最终,你观察到proj:testBranch与master分支相差4739个提交。proj:master只落后30个提交,因为在解决合并冲突时,你无意中将多个提交压缩成了一个修复。

变基总是只作用于当前所在的分支,即只有本地的testBranch在push -f之前发生了变化(proj:testBranch)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接