繁体   English   中英

Git Rebase不会重新定位整个分支

[英]Git Rebase is not rebasing the entire branch

出于某种原因,运行git rebase突然没有重新定义我的整个分支,我无法想象为什么。 在rebase之前我所拥有的是以下内容:

在此输入图像描述



运行git rebase develop后我得到的是:

在此输入图像描述

请注意,在rebase中没有来自分支的提交。 在这一点上,我必须运行一个git reset --hard ,在最后一次提交现在是无头分支以恢复原状。

奇怪的是,如果我在feature-relationalSurveys分支上创建了超出屏幕截图中显示的更多提交,然后进行rebase,那么所有其他提交都将在rebase中出现。 这就像git不知道分支实际开始的位置。 我以前从未见过这种情况,我不知道是什么导致它或如何解决它。 有任何想法吗?

我将根据提供的信息进行猜测。 A)您的可视化工具被破坏或B) develop已包含feature-relationalSurveys所有内容。 您可以通过尝试另一个可视化工具(如git log --decorate --graph来测试A.

Lemme解释B.关键信息是......

  • feature-relationalSurveys处于合并点,rebase不应该合并。
  • feature-relationalSurveysdevelop
    • 更奇怪的是,它与origin/develop处于同一点。
  • 在rebase之后, feature-relationalSurveys中的提交都没有提交。
    • 我认为这些承诺在历史上更深刻。

我能想到这件事的唯一方法就是你有这样的事情......

2 [develop]
|
1
|  A' [feature-relationalSurveys]
A  |
|  B'
B  |
|  C'
C /
|/
D

我不确定你是怎么进入那个状态的,可能是通过一个奇怪的合并或变基,但你去了。 当Git转向rebase feature-relationalSurveys开发它时, C' '的内容与C相同,所以它会跳过它。 B'的内容与B相同,所以它会跳过它。 A'A是相同的,跳过。 没有任何不同的内容,所以它只是在feature-relationalSurveys中进行develop

2 [develop] [feature-relationalSurveys]
|
1
|
A
|
B
|
C
|
D

feature-relationalSurveys变化是在尖端可见的develop ,因为他们埋在较早develop的历史。

这是我最好的猜测,只有你可以验证。 这将有助于显示变革之前的develop状况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM