我有一个使用 Eclipse 的相当简单的“C”项目。我将其用作 git 的介绍并拥有 eGit eclipse 插件。这个项目的范围相当简单。这里有一些平台无关的源文件,然后是平台相关的源文件。我将它们组织为:
src/
core/ # platform independent code
file1.c, ... fileN.c
interface/ # platform dependant code
fileA.c ... fileZ.c
代码最终应该在 linux(至少 RedHat)、osx 和 windows 上运行。这些都将是“命令行”可执行文件,但平台之间的接口代码确实不同。例如,如果我正在编写 PAM(Pluggable Auth Modules)模块,Red Hat 使用 linuxPAM,OSX 使用 OpenPAM,而 windows 根本不做 PAM(据我所知,没有理由这样做)。PAM 包含文件和库是不同的,windows 会做一些非 PAM 的事情。
我希望 eclipse 和 git 可以帮助解决这个问题。我的想法是为每种操作系统类型使用 git“分支”。我已经尝试过了,但遇到了一个奇怪的情况,这就是我发布这个的原因。
我开始使用 RedHat 版本作为 git“Master”分支。我从 Master 创建了三个分支:linux、osx 和 windows。我开始在 windows 分支上工作,然后去度假。当我回来时,我得到了 linux 分支,但它已被 Windows 更改“污染”。我以为我在假期前检查了所有窗户的变化。
问题:
- 分支是做多平台项目的正确方法吗?
- eclipse“.project”文件和其他元数据文件是否应该在源代码控制下?
谢谢