我应该把我的项目的哪些文件存放回购

时间:2011-11-03 12:47:51

标签: c++ git repository dev-c++

我正在使用Dev-C ++ IDE进行C编程。

我想把我的项目放在Github中,但我想知道我应该把那些类型的文件放在那里。我的意思是,项目文件夹有.o,.layout,.dev(dev-C ++项目文件),。exe以及源文件.c和.h .mkv(make file)

所以,我应该放哪些文件。如果我不应该放这些文件,我应该如何管理它们。我的意思是我的.git文件存储在那里..所以,什么时候有一些文件..它一直向我显示它们没有更新/推送..

3 个答案:

答案 0 :(得分:15)

遵循所有源代码控制的三大经验法则是:

  • 如果它是生成的资产,则不会进入源代码管理。否则,您将浪费空间并不必要地重复工作,并且您将面临陈旧数据的风险。这包括目标文件,编译项目二进制文件等等。

  • 如果它包含特定于您的计算机的配置,密钥,密码,环境变量等,则它不会进入源代码管理。您需要删除任何特定的内容给你(引用别人机器上不存在的文件路径等)。

  • 如果它是您无法控制的二进制依赖项(例如,您依赖于glib或NUnit),它也不应该进入源代码管理。但您可能别无选择如果您不能或不使用包/依赖管理器。理想情况下,如果它永远不会存在于您的代码中并且您只需要在“我依赖于NUnit v.2.3.5”的位置进行配置,那就更好了。

当然,每条规则都有例外,但这些都是一些很好的起点。

请注意,这不是特定于git的; git并不关心你想要放入源代码控制的文件,它会让你做任何事情。如果你使用的是hg,Subversion或其他类似的东西,你可能会得到相同的答案。

答案 1 :(得分:4)

通常我们将Sourcecode和资源放在存储库中。 OBJ-和BIN-文件不应该放在那里,因为它们只会产生冲突。

简单规则:不要将文件存放在由IDE动态生成的存储库中

或换句话说:

当您丢弃计算机并购买新计算机时:您需要哪些文件才能继续工作?

答案 2 :(得分:2)

我们通常会将所有内容放入构建项目所需的存储库中。所以代码文件,项目文件,脚本,资源。

我们不会将二进制文件放入可以通过编译代码构建的存储库中。但是我们将第三方二进制文件放入存储库。

所有其他文件,如obj文件不属于那里。