使用SVN,如何让其他开发人员覆盖我?

joh*_*nny 4 svn collaboration

我不知道该怎么做.我刚开始在一个真实的项目中使用SVN.我有一切正常.但是,我是唯一使用它的人.现在我想向这个过程介绍第二个人.

我在我的Windows机器上下载了tortoisesvn并检查了主干.我可以编辑文件并提交我的新文件.一切正常.

现在,我希望第二个人这样做,而我正在做点什么.通常他可能正在处理另一个文件,我们同意将我们提交的文件导出到测试服务器(我的想法无论如何),但是如果我们正在处理同一个文件呢?例如,配置文件.也许我们都需要改变它.当别人改变它时,我怎么能(或他)保留另一个.如果我们其中一个人提交了一个新的更新,它将会删除我们刚刚放入的内容.不知道该怎么做.

Rus*_*een 9

使用SVN,目标不是获取文件并说"这是我的,不要触摸它".目标是在完成后合并您的更改.其中两个人是真正做出不兼容的改变案件的数量很小,在发生的时候,开发人员需要走到一起的最佳方式合并它们 - 而不是有比赛,谁赢第一文件锁.

始终在提交之前更新,以便您将更改与您的更改合并.

  • 是的,它会更新您的文件,但它不会删除您刚刚执行的操作.如果您的更改不重叠,则SVN会自动将更改放入您的副本中.如果您的更改确实重叠,这称为冲突,SVN会将您的文本和其他文本放在同一个文件中,您需要手动"修复"它. (2认同)

Mic*_*sen 6

不,它不会删除任何东西.

如果两个人更改文件并尝试提交它,则第二个提交者将收到一条错误消息,指出该文件自上次更新后已更改.

然后第二个人进行更新.如果SVN可以这样做,它将合并它们,保留两个人的变化.如果它不能(通常只有在你在文件中的同一个地方更改某些内容的情况下),它会告诉你,你将不得不处理冲突.

  • 是的,但不是经常.等到你到达可以正常工作的地步,并且你的更改已经"准备就绪".你不想每10分钟一次,你也不想等待6周.一个经验法则是提交一个工作单元,即一个新功能或一个错误修复. (3认同)