Version control (D)VCS与涉及多人编辑同一目录中文件的工作流的合作情况如何?

Version control (D)VCS与涉及多人编辑同一目录中文件的工作流的合作情况如何?,version-control,dvcs,Version Control,Dvcs,想象一下,由于传统的原因,您的团队首选的开发方法涉及多人共享登录,使用vim在构建服务器上编辑文件 [请注意,有一些众所周知的问题与一次只能编辑一个文件有关,人们离开办公桌,将文件锁定在vim中,系统构建/重新启动要求所有人在发生这种情况时停止调试。这不是问题所在] 如果在不改变工作流的情况下引入源代码管理,会有很多好处吗 我猜提交历史不会有多大用处,因为它将包含每个人的所有更改。因此,除了在一个非常大的级别上倒带单个更改之外,实际上是不可能的。这不是使用版本控制系统的方式。在这个固有的容易发生

想象一下,由于传统的原因,您的团队首选的开发方法涉及多人共享登录,使用vim在构建服务器上编辑文件

[请注意,有一些众所周知的问题与一次只能编辑一个文件有关,人们离开办公桌,将文件锁定在vim中,系统构建/重新启动要求所有人在发生这种情况时停止调试。这不是问题所在]

如果在不改变工作流的情况下引入源代码管理,会有很多好处吗


我猜提交历史不会有多大用处,因为它将包含每个人的所有更改。因此,除了在一个非常大的级别上倒带单个更改之外,实际上是不可能的。

这不是使用版本控制系统的方式。在这个固有的容易发生冲突的“工作流”之上添加一个,除了增加混乱之外,几乎没有什么作用

每个人都应该在自己的工作副本中工作,然后通常将更改提交到中央服务器

“使用vim在构建服务器上编辑文件”建议使用中央存储库

因此,CVCS(中央版本控制系统)可能更适合。
但无论是集中式还是分布式,这两种VCS工具都涉及一个本地工作树(或本地工作区),远程文件在其中被复制、修改,然后发送回(提交时)

然后,您必须使用与本地视图不在同一位置的工作区来定义“视图”。
有点复杂,但有可能


话虽如此,主要的好处是查看修改历史,每个用户一次可以完成一个修改。

是的,但请记住“因为传统,您的团队首选的开发方法涉及多人共享登录,使用vim在构建服务器上编辑文件。”我将努力打破这一传统,因为我拒绝那样工作。在您自己的计算机上而不是在构建服务器上使用vim编辑文件并没有什么不同。甚至在构建服务器上您自己的私有目录中。