如何在一个已删除的分支上重新建立一个旧的提交?



我有一个非常奇怪的git请求。这是我的git历史记录的一部分:

-----2----- master
/ 
/   3--- new dev
--1  old dev
  • 1来自已删除的开发分支
  • 2是被删除的dev分支与master
  • 的合并
  • 3是master
  • 派生出来的一个新的开发分支。

我想这样连接3和1:

-----2----- master 
/ 
---1---3--- dev 

旧分支和新分支现在是同一个分支。

有办法实现这个吗?

感谢那些会回答的人。

编辑:剩余的代码如下所示:

-2------5----7--- master 
    /    /
3--4----6----- dev

所以当我按照chepner说的做时,我最终得到了这个:

-----2------5----7--------- master
    /    /
---1---3--4----6----------- dev

3'-------4'--5'--6' newdev

我希望newdev分支具有与chepner命令所做的历史更改相同的dev分支历史。

我希望这次讲得足够清楚。

Git中的分支仅仅是"label "活动标签随着该分支上的每次新提交而移动。old_dev分支被删除在这里是无关的,提交被合并,因此是主分支历史的一部分。

对你的请求的解决方案很简单:

git rebase --onto 1 2 new_dev

它将接收2..的所有提交。New_dev(不包括2,包括3),并将它们放在commit 1上。

相关内容

最新更新