7

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

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

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

4

3 回答 3

17

所有源代码管理都应遵循的三大经验法则是:

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

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

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

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

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

于 2011-11-03T12:55:25.213 回答
4

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

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

或者换句话说:

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

于 2011-11-03T12:53:14.250 回答
2

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

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

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

于 2011-11-03T12:56:03.903 回答