GIT - 我应该忽略Makefile和IDE生成的其他文件吗?

时间:2010-12-17 22:10:56

标签: git

我正在与QTCreator合作,我想知道跟踪文件的好习惯可能是每个人都可以自己生成(通过IDE)。

3 个答案:

答案 0 :(得分:2)

如果它是向导式生成的(即你点击某个界面,然后预期/允许根据你的需要调整文件),你一定要跟踪它们。

如果它们实际上是构建结果(即在运行构建过程的每个副本上反复生成),则不应提交它们。

对于Makefile:是的,这应该可以进入版本控制。

答案 1 :(得分:2)

不要将它们添加到版本控制中。通常,不要添加构建时创建的任何文件(即使它只是一些中间IDE步骤)。否则,每次构建项目时,都会创建本地更改。此外,构建文件可能包含对其他路径无效的本地路径。对此的完美示例是(例如)Windows和Unix上的跨平台开发。即使两个平台都使用GCC,makefile也肯定会有所不同。

只有在用于构建项目时才添加makefile,并且在基于其他文件工作/构建时不会动态创建它们(例如项目文件;然后添加它们)。只添加构建和运行项目所需的最小文件集(不包括分片库文件等)。

答案 2 :(得分:1)

作为一般规则,我会说不,IDE的这些属性文件可能涉及特定于环境的路径/变量,最好将源与项目文件分开,这样源文件就可以被拉入一个不同的IDE并使用(假设您能够配置IDE以具有适当的路径)。如果众所周知,您的整个团队和未来的所有团队都将使用IDE X,那么我认为这没关系,但仍然不是一个好主意。 Maven或类似的构建工具通过允许您只提交源和pom.xml文件来帮助避免这种情况,该文件描述了项目的编译(有点像Ant文件),这样它就可以由任何有maven的人构建。命令行,此外插件提供了为用户生成IDE特定文件的能力(例如我在工作时使用flexmojos:flexbuilder插件或eclipse:eclipse为flexbuilder或eclipse生成项目文件)。这取决于您的工作流程,团队规模,所述团队IDE的差异以及其他因素。