gpt4 book ai didi

version-control - merge 选定的更改

转载 作者:行者123 更新时间:2023-12-04 02:51:12 27 4
gpt4 key购买 nike

[我将我的问题标记为 mercurial,但实际上,我问的是一个概念性问题,它也适用于其他源代码控制应用程序。]假设您有一个文件夹,其中的应用程序源代码处于版本控制之下;称之为主干。我克隆存储库并开始修改代码,开发新版本的程序,在永远不会成为主干的一部分的修订后提交修订。

然后有一天,在处理第 23 版时,我发现了一个错误。

我提交它,作为修订版 24。

我希望您修复我的错误,而不进行我所做的所有其他更改。仅将修订版 24 的代码(错误修复)推送或 merge 回主干的一般过程是什么?

最佳答案

在 Mercurial 中,您有多种选择(而且我确信其他 DVCS 具有类似的功能)

最简单的方法:一旦您意识到该错误属于主线主干,您就更新到主线提示、提交、推送,然后将该变更集 merge 到您的副项目中。

hg up -r mainline
# make your changes
hg com -m "I fixed the bug"
hg push -r mainline ## now others can pull it!
hg up -r sideproject
hg merge mainline
hg com -m "merge mainline bugfix into sideproject"

完成。

有一些方法,通过使用 mq 扩展或导出补丁,允许您编辑历史记录以获得类似的结果,但它们都只是在事后尝试完成上述方法。

变更集包含其祖先的所有变更。因此,您需要在拓扑上将主线更改(修订版 24)与副项目(修订版 23)分开。

关于version-control - merge 选定的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17621539/

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