gpt4 book ai didi

Git 将开发分支与生产版本的主分支 merge

转载 作者:太空狗 更新时间:2023-10-29 13:14:33 26 4
gpt4 key购买 nike

我正在使用 Git 进行代码版本控制。

我有一个开发分支,我在上面做所有肮脏的开发。

每次我向世界发布一个生产版本时,我都想把它放在我的 master 分支下。

问题是每当我 merge development 和 master 时,master 都会收到所有的开发历史。

我想保持一切干净,所以 Twig 看起来像这样:

发展

“初始化提交”

“发展中”

“1.0 版”

“错误修复”

“错误修复”

“版本 1.1”

大师

“1.0 版”

“版本 1.1”

这可能吗?如果是这样,怎么做?

更新我尝试使用 Gauthier 答案,但它没有达到我想要的效果。

我采取的步骤如下:1. 在 master 中创建了一个 init commit2.转为开发。3.添加了一些开发 promise 。4. checkout 师傅5. git merge 开发 --no-ff

merge 是成功的,但是当我在我的存储库的高层查看时,我看到在我的 master 分支中我有开发分支的所有历史,而我只想有 init-----version 1.0.

这是它的外观截图:

开发分支: enter image description here

主分支: enter image description here

最佳答案

你知道--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 loggitk 做的)

我的猜测是您对 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中的东西时,使用--no-ff merge 到master,并标记:

$ git checkout master
$ git merge development --no-ff
$ git tag "v1.0"

请注意,您应该考虑在以您正在处理的功能命名的分支中工作,而不是开发 中的所有内容。这将导致更好的 merge 消息,例如“Merge branch 'killer_feature'”。也许这就是您在 development 中已经拥有的,在那种情况下,抱歉。

关于Git 将开发分支与生产版本的主分支 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29968041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com