gpt4 book ai didi

Mercurial 通用/本地文件

转载 作者:行者123 更新时间:2023-12-03 06:51:19 25 4
gpt4 key购买 nike

我已经成为 hg 用户几年了,对此我很高兴!

我必须开始一个我以前从未做过的项目。我们的想法是开发一个具有批处理模式和 GUI 的软件。

因此,批处理模式和 GUI 模式都有共同的源,但每种模式也都包含特定的源。而且,基本上,我希望我的同事能够克隆 GUI 版本,对其进行处理并提交更改。然后,我希望能够将他们对公共(public)文件的更改与批处理版本 merge 。

我该如何处理这个问题?

由于我已经阅读了一些有关该主题的内容,因此我非常感谢任何帮助!!

谢谢。比努瓦

最佳答案

作为子存储库的创建者,我强烈建议反对为此使用子存储库。

虽然子存储库可用于将较大的项目分解为较小的部分,但子存储库所涉及的额外复杂性和脆弱性往往会抵消这样做的好处。除非您的项目非常大,否则为了简单起见,您应该只使用一个项目存储库。

那么子存储库有什么用呢?子存储库最适合管理其他独立项目的集合。例如,假设您正在构建一个围绕现有 SCM 的大型 GUI 工具。我建议您将其结构如下:

scm-gui-build/ <- master build repo with subrepos:
scm-gui/ <- independent repo for all the code in your GUI tool
scm/ <- repo for the third-party SCM itself
gui-toolkit/ <- a third-party GUI toolkit you depend on
extensions/ <- some third-party extension to bundle
extension-foo/

在这里,您在一个普通的旧存储库(scm-gui)中完成所有工作,但使用更高级别的主存储库来管理构建/打包/版本控制/标记/发布整个集合。主 scm-gui-build 存储库只是其他普通存储库的一个薄包装,这意味着如果出现问题(例如存储库的 URL 之一离线),您可以继续在项目中工作而不会出现问题.

(另请参阅:https://www.mercurial-scm.org/wiki/Subrepository#Recommendations)

关于Mercurial 通用/本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696480/

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