【发布时间】:2013-01-22 16:41:49
【问题描述】:
我有一个我自己用 python 构建的 OSX 应用程序。像许多 OSX 应用程序一样,它内部有许多(全部?)依赖项。比如……
./git_repo
└── mac (dir)
├── myapp.app (dir)
│ ├── Frameworks (dir)
│ ├───MacOS (dir)
│ ├───Resources (dir)
│ │ ├──main.py
│ │ ├──lib1.py
│ │ ├──lib2.py
├─img(dir)
目录结构比这个大很多,每个目录下有很多文件,但你懂的
我的第一个 fork 将用于 Linux,其中我需要 main.py、lib1.py、lib2.py 和 img 目录。我在 Resources 目录或任何其他目录中不需要任何其他内容。我还将添加 Mac 不需要的 Linux 特定文件。整体dir结构会比mac结构扁平很多。
之后,我将为 Windows 分叉,其中包含我为 Linux 列出的文件,以及 mac/linux 不需要的一些 Windows 特定文件。
我在这里阅读了类似的主题,但我无法想象整个目录结构将如何工作。 我看到了几个选项。
- 在需要时使用单独的 git 分支并合并/cherry-pick 更改(这可能很困难,因为所有 3 个目录结构将完全不同
- 使用 git 子模块 - 一直在阅读这方面的内容,但不确定我应该将哪些组件制作成子模块 - 常见项目还是附加项目?
- 使用单独的存储库 - 不确定这是否与分支有任何不同
最终,我只需要跟踪所有 3 个操作系统的这些主文件的更改,同时将更改分开,并且在处理特定操作系统/分支(例如制作文件等)时无需采取大量步骤
实现这一目标的最佳方法是什么? 感谢阅读
【问题讨论】:
标签: git git-branch git-submodules branching-and-merging