我有一个非常奇怪的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上。