我是一个与多人一起使用 SVN 的新手,所以请耐心等待。我正在与多个开发人员一起开发 C++ 项目,我们使用 SVN 来同步和版本化我们的 .h
和 .cpp
文件。我习惯于使用 SVN 仅对自己的项目进行版本控制,但是当我们尝试提交多个开发人员修改过的文件时,与其他开发人员合作会导致文件冲突。
如果发生冲突,是否可以将主干中的文件合并到工作副本中?或者也许是一个更好的问题,如果出现文件冲突,您会建议什么?
我们使用 TortoiseSVN 与 SVN 服务器进行通信。
感谢您的宝贵时间。
最佳答案
我对你的问题有点困惑。每个人都使用自己 checkout 的工作目录吗?我有时看到公司实际上在多个用户之间共享一个工作结帐目录。这是一个很大的禁忌。
如果你们都使用自己的工作目录(Subversion 客户端实际上并不重要。您可以使用 TortoiseSVN、Twitter 或任何客户端)共享项目应该没有问题。如果有人提交对您也在处理的一组文件的更改,Subversion 根本不会让您 checkin 您的更改,除非您首先执行更新来获取刚刚 checkin 的最新更改。如果存在冲突,Subversion 将标记冲突位置。只需修复冲突,并将文件标记为已解决。然后,提交您的更改。
这真的是全自动化的。你没有什么特别需要做的。 Subversion 不会让您提交过时的更改。您必须进行更新,将这些最新更改合并到您的工作副本中,然后才能提交更改。 Subversion 甚至会告诉您哪些文件已更新和合并。
关于SVN 多人在同一个项目上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504103/