2014-09-21 30 views
-1

我对SourceTree是全新的,也是版本控制系统的新手。什么是您的资源库中包含的文件类型的最佳实践?你是否包含你没有改变的第三方DLL?那么你的最终编译代码呢,还是只包含源代码呢?对我来说包含任何第三方或您自己编译的代码版本没有任何意义,但在观看一些在线教程时,我看到这些包含在内。另一方面,我经历了不得不去寻找和下载开发人员在我下载他们的Git项目时所假设的库的痛苦。我怀疑答案可能会有所不同,具体取决于您编程的语言以及您是否拥有Maven之类的东西。sourcetree GIT - 包含什么样的文件,最佳实践

我的任务是使用Java和C#的Git,所以任何帮助在我应该或不应该包括的方向将不胜感激。

+1

Concatonate一个或两个或三个,这些取决于你的平台和语言上的:https://github.com/GitHub/gitignore – 2014-09-21 02:52:17

+0

这与按项目和意见。 – 2014-09-21 07:50:54

+1

别忘了标签发布。你会包含运输二进制文件的符号文件,以便从崩溃转储中理解吗? – jww 2014-09-23 07:33:26

回答

1

这对你的个人喜好,你正在使用的语言和项目依赖关系有很大的帮助。

一般来说,您应该尝试只将文件添加到项目开发实际需要的版本控制中,因为版本控制在这种情况下主要是开发工具。

下面是一些一般性的建议:

  • 不包括编译后的代码是否有可能从项目源文件编译它。

  • 是否需要包含所需的库文件,这些库文件不能轻易/自动安装并忽略其他文件。

  • 请勿包含临时和环境特定的文件,如IDE配置或日志文件。

+0

谢谢。这是我需要知道的。 – Trebor 2014-09-21 22:17:02

+1

*“如果可以从项目源文件编译它,请不要包含已编译的代码”* - 您确定吗?你有没有试过精确地重新创建一个二进制文件,以便从该领域的崩溃转储是有意义的?它不足以检查修订。从环境和工具链到依赖库的所有内容都必须匹配或重新创建。 – jww 2014-09-23 07:38:13

+1

为了调试你的编译代码,它是有帮助的。尽管你必须记住,在另一个系统上修复和重新编译不会使用旧环境,因此你无法知道你是否真的解决了这个问题,或者它只是在你的环境中不存在。因此,为了在分布式开发中进行版本控制,我肯定不会包含编译代码,而是在其他地方重新编译之后,如果错误没有持续存在,则可以在别处共享失败的二进制文件。这对调试也很有帮助,因为你知道bug是特定于环境的。 – dfherr 2014-09-23 08:07:06