Version control 不同的版本控制工具是否适合不同的语言?

Version control 不同的版本控制工具是否适合不同的语言?,version-control,Version Control,我想知道,有没有哪种特定的语言(C++、Java、Python、Haskell等)比其他语言更适合某个风投?可能是因为语法或其他因素 或者,选择VCS是否应该始终不受这些问题的影响?我知道的所有VCS都是内容无关的,您可以存储二进制或文本(ASCII/UTF-8)文件。选择VCS的一个可能因素是开发操作系统支持(例如:git不支持windows)和IDE集成,这可能是特定于语言的 至于风投公司是否应该不受这些担忧的影响,我确实相信是这样。同时,它应该足够灵活,可以让其他工具完成特定于语言和项目的

我想知道,有没有哪种特定的语言(C++、Java、Python、Haskell等)比其他语言更适合某个风投?可能是因为语法或其他因素


或者,选择VCS是否应该始终不受这些问题的影响?

我知道的所有VCS都是内容无关的,您可以存储二进制或文本(ASCII/UTF-8)文件。选择VCS的一个可能因素是开发操作系统支持(例如:git不支持windows)和IDE集成,这可能是特定于语言的


至于风投公司是否应该不受这些担忧的影响,我确实相信是这样。同时,它应该足够灵活,可以让其他工具完成特定于语言和项目的事情(大多数VC都是通过钩子来完成的)。

这会使源文件的平均大小产生差异。一些语言和编码风格倾向于产生10000多行代码文件。在这种情况下,您绝对需要一个基于合并的分支工具。对于较小的代码文件,其他人在同一文件中进行不相关更改的可能性要小得多,因此主要通过锁定(偶尔合并)工作的工具/策略工作得很好。

对于风投来说,你在其中放什么并不重要(你甚至可能没有代码),但你使用它的方式却很重要。大多数IDE可以与一些(但不是所有)版本控制系统集成。选择一个你的IDE可以集成的VCS(无论是本机集成还是与插件集成)将提供显著的好处


话虽如此,如果在没有IDE支持的VCS或根本没有VCS之间做出选择,请始终使用VCS。

您放在VCS中的内容可能会影响:

  • 存储:对于简单文本、Microsoft Word文档、UML模型(Rational
    .rose
    文件)、html页面,…
    例如,请参见,作为VCS基于元素内容管理存储的示例

  • 合并:根据版本化文件的内容,可以通过以下方式进行不同的合并:

    • 内部算法(如果VCS具有类型管理器)
    • 外部第三方合并工具,可以根据文件的扩展名和内容推断出一些“智能”合并策略
关于您的问题,据我所知,版本化文件中的编程语言从来不是存储或合并的标准:它们(文件)只是文本。
如果对它们进行不同的处理,则只有在合并过程中,并且只有当外部合并工具足够智能,能够根据文件内容执行某种“智能”合并时,才会进行合并。
但是VCS本身通常不参与这种特殊的合并(对于被视为文本的源文件)