使用 git 进行项目时,我有两个功能分支,分别称为dev-a
和dev-b
,从我的develop
分支(从 分支master
)分支。
我工作dev-a
了一段时间,完成了,然后合并回develop
,做了一些工作develop
,然后开始dev-b
,工作了一段时间,然后找到了应该做的事情dev-a
,所以我结帐dev-a
并修复它。我的 DAG 现在看起来像这样:
提交哈希显然是虚构的,而不是真正的哈希;它们仅供参考
* 008 - (dev-a) Fix problem on dev-a
|
| * 007 - (dev-b) Work on dev-b
| * 006 - Work on dev-b
| |
| * 005 - (develop) Work on develop
| * 004 - Work on develop
| * 003 - Merged dev-a
|/|
* | 002 - Work on dev-a
* | 001 - Work on dev-a
\|
* 000 - Work on develop
|
不过,我想做的是让提交发生在合并“之前”,这样我就可以重新设置基准develop
并dev-b
在它之上,保持一切整洁:
* 007 - (dev-b) Work on dev-b
* 006 - Work on dev-b
|
* 005 - (develop) Work on develop
* 004 - Work on develop
* 003 - Merged dev-a
/|
* | 008 - (dev-a) Fix problem on dev-a
* | 002 - Work on dev-a
* | 001 - Work on dev-a
\|
* 000 - Work on develop
|
同样重要的是要注意,修复dev-a
不会与任何以后的提交冲突 - 这是对单个文件的一个相当小的更改。所有相关的提交都是本地的,尚未共享。
我相当肯定我可以做到这一点,因为 git 相当灵活,但我不确定它是否可能,如何做到这一点,或者这是否是一个好主意。