Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Rebase并没有对整个分支进行重定基址_Git_Git Rebase - Fatal编程技术网

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时,如果没有进行新的提交,那么就没有什么可重设的,因为基于第一个特性分支的第二个分支已经完成了工作。就我而言,这是愚蠢的举动,谢谢你指出这一点。