我的项目的哪些文件我应该放在repo
What files of my project should I put in repo
我正在使用dev - c++ IDE进行C编程。
我想把我的项目在Github,但我想知道哪种类型的文件我应该放在那里。我的意思是,项目文件夹有。o,。layout,。dev(开发c++项目文件),。exe以及源文件。c和。h。mkv(制作文件)
所以,我应该放哪些文件。如果我不应该放那些文件,我该如何管理它们?我的意思是我的。git文件存储在那里…所以,当有一些文件…它一直显示那些没有更新/推送的…
所有源代码管理都要遵循的三条经验法则是:
-
如果它是一个生成的资产,它不去源代码控制。否则,您将浪费空间和不必要的重复工作,并且您将面临数据陈旧的风险。这包括像目标文件,编译的项目二进制文件,等等。
-
如果它包含特定于您的机器的配置,密钥,密码,环境变量等,它不会进入源代码控制。您需要删除任何特定于您的内容(对其他人机器上不存在的文件路径的引用等)。
-
如果它是一个你不控制的二进制依赖(例如你依赖于glib或NUnit),它也不应该进入源代码控制。但是如果你不能或不使用包/依赖管理器,你可能别无选择。理想情况下,最好不要在你的代码中出现这种情况,而只是在某个地方配置"我依赖于NUnit v.2.3.5"。
当然,每条规则都有例外,但这些都是很好的起点。
注意,这不是特定于礼物的;Git并不关心你想要把什么文件放到源代码管理中,它可以让你做任何事情。如果您使用hg、Subversion或其他类似的方法,您可能会得到相同的答案。
通常我们将源代码和资源放在存储库中。OBJ和bin文件不应该放在那里,因为它们只会产生冲突。
简单规则:不要将IDE动态生成的文件放入存储库
或者:
当你扔掉你的电脑,买一台新的:你需要哪些文件来继续工作?
我们通常将构建项目所需的所有内容放入存储库中。所以代码文件,项目文件,脚本,资源。
我们不把可以通过编译代码构建的二进制文件放入存储库。但是,我们将第三方的二进制文件放入存储库。
- 我应该使用什么来代替void作为变体中的替代类型之一
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- 我应该实现右值推送功能吗?我应该使用std::move吗
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 我应该删除矢量<short>吗?
- 我应该如何修改此代码以使用给定字符串中的字母打印菱形图案
- 我应该在锁定TBitmap画布后解锁它吗
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 我应该避免多重实现继承吗
- 为了方便起见,我应该避免公开私有字段变量吗
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 违反const正确性:我应该现实地期待什么问题
- 我应该如何表示我拥有的连续元素序列?
- 我应该将除 .cpp 以外的其他文件添加到 git 中吗?
- 我应该如何从 stdin C++ 中读取可变长度的格式字符串?
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 我应该如何捕捉out_of_range异常?
- 我应该声明所有不抛出 noexexcept 的成员/函数吗?
- OpenCV 我应该使用智能指针来防止内存泄漏吗?
- 我的项目的哪些文件我应该放在repo