Git Rebase并没有对整个分支进行重定基址
出于某种原因,运行一个Git Rebase并没有对整个分支进行重定基址,git,git-rebase,Git,Git Rebase,出于某种原因,运行一个git-rebase突然不能重新设置我整个分支的基址,我无法想象为什么。在重新设置基础之前,我有以下内容: 运行git-rebase-develope后,我得到的是: 请注意,来自分支的任何提交都没有出现在重基中。在这一点上,我必须在现在是无头分支的最后一次提交上运行一个git reset--hard,以使事情恢复正常 奇怪的是,如果我在功能relationalSurveys分支上创建了超出屏幕截图所示范围的附加提交,然后重新基址,所有附加提交都将出现在重新基址中。就
git-rebase
突然不能重新设置我整个分支的基址,我无法想象为什么。在重新设置基础之前,我有以下内容:
运行
git-rebase-develope
后,我得到的是:
请注意,来自分支的任何提交都没有出现在重基中。在这一点上,我必须在现在是无头分支的最后一次提交上运行一个git reset--hard
,以使事情恢复正常
奇怪的是,如果我在
功能relationalSurveys
分支上创建了超出屏幕截图所示范围的附加提交,然后重新基址,所有附加提交都将出现在重新基址中。就像git不知道分支的实际起点一样。我以前从未见过这种情况,我不知道是什么原因造成的,也不知道如何修复。有什么想法吗?我将根据提供的信息进行猜测。A)您的可视化工具已损坏或B)develop
已包含功能关系调查的所有内容。您可以通过尝试另一个可视化工具,如git log--decoration--graph
,来测试一个
让我解释一下B.关键信息是
要素关系调查
处于合并点,不应合并重基
功能关系调查
与开发
处于同一点。
- 更奇怪的是,它与
origin/develope
处于同一点
featurerelationalSurveys
中的所有提交都不会在重新基址后处于其顶端。
- 我认为这些罪行在历史上更为严重
我唯一能想到的是如果你有这样的事情
2 [develop]
|
1
| A' [feature-relationalSurveys]
A |
| B'
B |
| C'
C /
|/
D
我不太确定你是如何进入那种状态的,也许是通过一个奇怪的合并或重基,但你就这样做了。当Git重新设置功能关系调查
的基础以开发它时,会注意到C'
的内容与C
相同,因此它会跳过它B'
的内容与B
相同,因此它会跳过它<代码>A'
和A
相同,跳过。没有留下不同的内容,所以它只是在develope
所在的位置进行了featurerelationalsurveys
2 [develop] [feature-relationalSurveys]
|
1
|
A
|
B
|
C
|
D
在develope
的顶端看不到功能关系调查
的任何更改,因为它们在develope
的历史早期就被隐藏了
这是我最好的猜测,只有你能证实。这将有助于在重新基准之前显示
develope
的状态。请在重新基准之前显示develope
的状态好吗?你用B来表示,完全是我自己的疏忽。我猜我在创建第二个特性分支时没有切换到开发;相反,我从一个我还没有准备好合并的现有特性分支中分支出来。当我将第二个特性分支重新设置为develope时,第一个特性分支的提交开始了,并随后被合并。然后,当尝试将第一个特性分支重设为develope时,如果没有进行新的提交,那么就没有什么可重设的,因为基于第一个特性分支的第二个分支已经完成了工作。就我而言,这是愚蠢的举动,谢谢你指出这一点。