我正在使用 Git 进行代码版本控制。
我有一个开发分支,我正在其中进行所有肮脏的开发。
每次我向世界发布生产版本时,我都想将其放在我的 master 分支下。
问题是,每当我合并开发和 master 时,master 都会收到所有开发历史记录。
我想保持一切干净,所以分支看起来像这样:
发展
“初始化提交”
“发展”
“1.0版本”
“错误修复”
“错误修复”
“1.1版”
master
“1.0版本”
“1.1版”
是否可以?如果是这样,怎么办?
UPDATE我尝试使用高蒂尔答案,但它没有按我想要的方式工作。
我采取的步骤如下:
1.在master中创建一个init commit
2.转向开发。
3.添加了一些开发承诺。
4.结账师傅
5. git合并开发--no-ff
合并成功了,但是当我在我的存储库中查看高层时,我发现在我的 master 分支中我拥有开发分支的所有历史记录,而我只想拥有 init-----1.0 版本。
这是它的外观的屏幕截图:
development branch:
master branch:
你知道吗--no-ff
?
您目前拥有:
o init commit
|
o developing
|
o Version 1.0
|
o bug fixing
|
o bug fixing
|
o Version 1.1
|
o Version 1.0
|
o Version 1.1 - development - master
(时间向下,就像你的例子一样,而不是git log
and gitk
do)
我猜你不满意master
因为一切都直接到达那里,处于同一水平。
如果您满意:
o init commit
|\
| o developing
|/
o Merge branch 'development' - Version 1.0
|\
| o bug fixing
| |
| o bug fixing
|/
o Merge branch 'development' - Version 1.1 - development - master
然后当你想释放你所拥有的东西时development
,合并到master
with --no-ff
,并标记:
$ git checkout master
$ git merge development --no-ff
$ git tag "v1.0"
请注意,您应该考虑在以您正在处理的功能命名的分支中工作,而不是在development
。这将导致更好的合并消息,例如“合并分支'killer_feature'”。也许这就是你所拥有的development
已经,在这种情况下,抱歉。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)