我有一个使用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可以帮助解决这个问题。我的想法是为每个os类型使用git“branches”。我试过这个,但遇到了一个奇怪的情况,这就是我发布这个的原因。
我用RedHat版本作为git“Master”分支启动了这个。我从Master创建了三个分支:linux,osx和windows。我开始在windows分支上工作,然后去度假。当我回来的时候,我得到了linux分支,但它已被Windows更改“污染”了。我想到我在假期之前检查了所有窗户的变化。
问题:
感谢
答案 0 :(得分:0)
分支机构不是进行多平台项目的方式。分支是一种管理具有不同发布周期的代码的方法。在多平台的情况下,所有代码都将同时发布。要对此进行管理,请创建一个使平台清晰的目录结构(每个平台都有一个目录)。
.project文件肯定需要检入源代码控制。
答案 1 :(得分:0)
Git相对较好地处理符号链接,如果您只想在一个分支中为一个平台更新代码,您可以定义一个主平台,在其中放置一个文件夹,其中包含您要共享的代码,然后在其他项目中使用符号链接到该文件夹。请注意,之后您无法为特定平台进行分支(当然,您可以使用实际文件夹的副本替换符号链接,可能需要出现)。