让我们调用 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 的关于子树合并的章节中,说:
您可以 [...] 在 master 分支的 rack 子目录中进行更改,然后稍后将它们合并到您的 rack_branch 分支中,以将它们提交给维护者或将它们推送到上游。
但是没有解释我应该如何做,也没有解释我如何让我的 2 个本地文件夹保持同步。