如果有分支名称dev
,则它是正常的开发分支。
我应该在每次合并后删除它,然后创建一个新的吗?
如果不删除,分支网络是(所有合并使用--no-ff
):
* 0019d6a - (HEAD, master) Merge branch 'dev' second (2 minutes ago)
|\
| * e6dcaf5 - (dev) add b.file (2 minutes ago)
* | c39915b - Merge branch 'dev' (3 minutes ago)
|\ \
| |/
| * 352afa1 - add a.file (4 minutes ago)
|/
* d06fb93 - init (4 minutes ago)
版本c39915b
是第一次合并,然后继续开发,进行第二次合并。
如果我删除并创建一个新版本,它将从版本c39915b
开始:
* 4a4b8dc - (HEAD, master) Merge branch 'dev' second (7 seconds ago)
|\
| * afd5dfe - (dev) add b.file (16 seconds ago)
|/
* c39915b - Merge branch 'dev' (3 minutes ago)
|\
| * 352afa1 - add a.file (4 minutes ago)
|/
* d06fb93 - init (4 minutes ago)
在第二种情况下,分支网络比第一种情况明确。
我不知道哪一个更好?
附加:
我看了git-flow并找到了这张照片:
它使用第一个并将dev分支保留为长期分支。
答案 0 :(得分:1)
在这种情况下,第二种方法随着时间的推移只需要做很多工作,绝对没有任何好处。
坚持使用分支并保持合并。而且,即使你一直坚持使用分支,你也可以获得第二种类型的历史记录。无论何时直接对master进行更改,都要将其合并到dev(不是dev中的dev,反过来)以使dev分支更新。