问题描述:今天刚开始学版本控制工具,其工作流程是协同工作的人们通过客户端连到服务器,取出最新的文件,进行工作,然后提交更新。那么如果多个人同时修改同一份文件,那么会产生什么后果,并且文件如何合并,形成最新文件?
后果及合并规则:
如果多个人同时修改了同个文件中的不同行的代码,那么版本控制工具会在第一个人提交后,提醒后续提交的人更新文件,否则无法提交,更新文件后才能将自己修改的文件与库中文件合并,依次这样进行,所以最终得到的最新文件就是所有人修改后的版本。
但是如果多个人同时修改了同个文件中的同一行代码或者无法进行对比的二进制文件,比如图片等,那么在进行版本控制提交时容易产生冲突,造成无法提交的问题。此时在第一个人提交修改的文件到库中后,后续提交的人也会提示更新文件,并且会造成冲突,只有按照提示解决冲突后才能继续进行提交库,最终得到的最新文件是按照最后一个提交库的人解决冲突的版本。
解决冲突的方法此处就不提供了,此篇只为理解集中式版本控制工具多人同时修改同一文件如何合并文件问题。
SVN解决冲突的方法参考链接: