【问题标题】:Git subtree - Keep resource code in syncGit 子树 - 保持资源代码同步
【发布时间】: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


    【解决方案1】:

    子模块可以工作。当您在处理项目 A 时对核心项目进行更改时,您会在这两个项目中推送更改。要更新项目 B 中的核心,您只需将项目 B 中的核心中的更改拉取即可。CD 到项目 B,git add -A && git commit -m "updated core" 以将项目 B 更新到最新的核心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多