Git 子模块或 fork

标签 git github fork git-submodules

我在 github 中有一个私有(private)仓库,它是我的 cms 的完整源代码。现在我有一些本地客户,我想使用相同的代码库但主题不同。将原始项目 fork 到每个项目的 repo 中是否更好。或者使用子模块并为每个客户创建一个新的 repo 协议(protocol)?

在每个站点完成后,我想主题文件不会有太大变化,但在发现错误时需要从主存储库中提取更改。

最佳答案

由于涉及两组文件(基于通用的文件和主题文件),因此子模块是合适的。

每个客户都会有:

  • 一个主要的 git repo 项目
    • 一个克隆公共(public)代码库的子模块
    • 一个子模块及其主题的特定文件。

fork 更像是一种克隆技术,能够从其副本中分离出一个版本的存储库。
GitHub 用 fork queue 实现它以方便挑选回在 fork 的 Git 存储库中所做的一些更改。
但这里的关键是:它涉及所有 存储库,而不仅仅是一部分。
如果涉及多个部分,则子模块是正确的答案。

关于Git 子模块或 fork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2899046/

相关文章:

git - Visual Studio 中的默认 Git 提交消息

git - 如何更新 git 分支以匹配 master?

git, gitolite 错误推送

git - 使用git本地跟踪项目后,如何将其添加到GitHub?

c - "fork()"后printf异常

linux - 无法终止 fork 进程

git - 如何配置 Visual Studio 代码以在保存时提交到 git?

git - 如何通过 "hunk"在 Git 中 merge 分支

Git refs在 pull 请求中 merge 与头部

c - 管道保证在 child 退出后关闭