【发布时间】:2012-10-30 15:32:11
【问题描述】:
让我们调用 2 个项目 A 和 B。这是每个项目的结构:
/
|- Foo
| |- core
| | |- bar.txt
| | |- ...
| |- specific
| |- ...
|- ...
/Foo/core/ 的内容应该存在并且在 A 和 B 本地同步。这意味着,如果我在项目 A 中编辑 bar.txt,我应该能够得到项目 B 中的更改,在同一台机器上,反之亦然。
我尝试创建一个名为“Core”的项目,并使其成为A和B的子模块。问题是,如果我编辑bar.txt,将其推送到远程,然后再推送A,显然我不能将项目 B 上的代码与子模块更新。这不是同一个项目。
我也尝试过子树合并。问题是,“核心”并不意味着是一个独立的项目,我不能像现在这样开发它。它只是资源文件和更大的通用功能。因此,我希望能够在 A 和 B 中编辑我的 bar.txt,将其作为 此项目的一部分进行测试,然后以某种方式在另一个项目中对其进行测试.
在 Git Book 上,关于 subtree merging 的那一章,是这样说的:
您可以 [...] 在您的 master 分支的 rack 子目录中进行更改,然后稍后将它们合并到您的 rack_branch 分支中,以将它们提交给维护人员或将它们推送到上游。
但没有说明我应该如何做到这一点,也没有说明如何使我的 2 个本地文件夹保持同步。
【问题讨论】:
标签: git sync git-submodules git-subtree