gpt4 book ai didi

git - 检查 : git rebase done or not?

转载 作者:行者123 更新时间:2023-12-04 14:06:26 25 4
gpt4 key购买 nike

这是 ( Alternative to git rebase ) 的后续

一个 remoteRepo 有两个分支,Master 和 testBranch。 testBranch 提前 100 次提交,落后约 4000 次提交。对 testBranch 进行了更改,但从未 merge 到 Master。

所以我想将 testBranch 重新设置为 master 并给他们一个 pull 请求。以便他们可以查看和 merge 它。

我做了以下事情来实现上述目标:

  • 在本地 fork 和克隆 remoteRepo
  • git checkout testBranch
  • git fetch 来源
  • 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 的 repo 并检查。它表明 Master 在 proj:master 后面大约有 30 个提交。 testBranch 比 proj:testBranch 领先 4739 次。

    我不知道发生了什么。因为我的想法是将 testBranch 重新设置为 master,所以我认为我的 fork 的 master 最终会有更多的提交,我可以给他们一个 pull request。

    或者所做的任何事情都是正确的,我应该给出这个 testBranch 的 pull 请求吗?

    这里发生了什么?

    任何指导方针都会对我很有帮助。

    最佳答案

    您将 testBranch 重新定位到 master 上,您创建了一个新的历史记录,您的 100 次提交位于 master 的 4000 多个更改之上。最后,您将观察到与 proj:testBranch 的 4739 次提交差异。 proj:master 仅落后 30 次提交,因为显然在修复 merge 冲突时,您无意中在一次修复中压缩了多个提交。
    Rebase 始终只在您当时所在的分支上工作,即只有在 push -f (proj:testBranch) 之前更改了本地 testbranch。

    关于git - 检查 : git rebase done or not?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615448/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com