Git错过了扩展分支开发的rebase?
几个月前,我在一个我正在从事的项目中从MasterDevelopment分支出来。我一直在做我自己的实验分支,但不断地从master那里吸收变化以跟上时代的发展。每次我这样做时,我都使用这个命令集Git错过了扩展分支开发的rebase?,git,version-control,merge,rebase,Git,Version Control,Merge,Rebase,几个月前,我在一个我正在从事的项目中从MasterDevelopment分支出来。我一直在做我自己的实验分支,但不断地从master那里吸收变化以跟上时代的发展。每次我这样做时,我都使用这个命令集 git checkout master git pull git checkout experiment git merge master 今天我去把我的实验分支合并回master。我只是确定我和师父都是最新的,然后打电话给他 git checkout master git merge experi
git checkout master
git pull
git checkout experiment
git merge master
今天我去把我的实验分支合并回master。我只是确定我和师父都是最新的,然后打电话给他
git checkout master
git merge experiment
当我在GitX中查看master分支时,它显示了一条单独的开发线,每次我都从master中提取它来保持自己的最新状态。这是不是因为我在调出更改时应该重新设置master的基调
有人有解决这个问题的好办法吗?我想我可以把这个实验重新安排到大师身上?但实验是一个相当重要的分支,我想把它作为历史上一个明显独立的分支。我有没有办法回到过去,重新确定旧的有问题合并的基础?
正如你可能知道的那样,我对git很陌生
谢谢 没错
当您执行合并时,实际上有一个提交有两个父级,发生的情况如下:
原始历史:
A <- B <- C
A完全正确
当您执行合并时,实际上有一个提交有两个父级,发生的情况如下:
原始历史:
A <- B <- C
A好的,那么我如何解决这个问题呢?我可以回去重新设置旧的错误合并的基础吗?如果你确定所有合并还没有发布到公众,你可以这样做。我不确定Git如何处理带有“中间合并”的情况下的重基,但为什么不试试呢?您始终可以切换回重新基准之前的位置:)对于更糟糕的情况,您只需要为重新基准选择每个非合并修订。无论如何,你必须确保你所有的改变都是本地的。一旦发布,重定基址会毁掉一切。好吧,那我该怎么解决这个问题呢?我可以回去重新设置旧的错误合并的基础吗?如果你确定所有合并还没有发布到公众,你可以这样做。我不确定Git如何处理带有“中间合并”的情况下的重基,但为什么不试试呢?您始终可以切换回重新基准之前的位置:)对于更糟糕的情况,您只需要为重新基准选择每个非合并修订。无论如何,你必须确保你所有的改变都是本地的。一旦发布,重新定基将毁掉一切。
A <- B <- C <- D <- E
^
\- X <- Y
A <- B <- C <- D <- E <- M
^ /
\- X <- Y <-/
A <- B <- C <- D <- E
^
\- X <- Y
A <- B <- C <- D <- E <- X' <- Y'