Svn 大型并行提交

Svn 大型并行提交,svn,commit,Svn,Commit,对你们中的一些人来说,这可能听起来是一个非常基本的问题,但我对颠覆还不熟悉,希望你们能就这个问题提供建议: 如果人员B也在我之前修改并提交了他的更改,我应该如何处理花了几天时间编写代码的大型提交?他提交的文件与我的相同 总而言之,以下是工作流程: 提交一个基于rev.1的,尚未推送的 基于rev.0提交B,已推送,创建rev.2 如果在rev.1和rev.2之间更改了一定数量的代码,那么推式提交是否有风险 很抱歉我的问题,但我只是想避免破坏项目的代码。最坏的情况是,我重写了我的部分代码,之前

对你们中的一些人来说,这可能听起来是一个非常基本的问题,但我对颠覆还不熟悉,希望你们能就这个问题提供建议:

如果人员B也在我之前修改并提交了他的更改,我应该如何处理花了几天时间编写代码的大型提交?他提交的文件与我的相同

总而言之,以下是工作流程:

  • 提交一个基于rev.1的,尚未推送的
  • 基于rev.0提交B,已推送,创建rev.2
如果在rev.1和rev.2之间更改了一定数量的代码,那么推式提交是否有风险


很抱歉我的问题,但我只是想避免破坏项目的代码。最坏的情况是,我重写了我的部分代码,之前将repo签出到rev.2。

SVN将不允许您进行提交,如果它检测到您想要提交的任何文件是自上次更新以来由其他人提交的。相反,它会出错,并显示一条错误消息,告诉您在提交之前需要执行“svn更新”。当您执行“svn更新”时,其他人的更改将被集成到您的本地文件中,而不会丢失任何数据,并且一旦您验证了所有操作仍然有效,您就可以继续并执行自己的提交


这并不太危险;最坏的情况是,如果另一个人修改了与您相同的文件中的许多相同的行;在这种情况下,“svn更新”将导致冲突,您必须进入冲突文件,手动编辑它们以选择要保留的行和要删除的行(文件将包含这些行的您的版本和其他人的版本,并且它们将在文件中清楚地标记,因此这并不像听起来那么糟糕),然后执行“svn已解决”在冲突文件上,让SVN知道您已经处理了冲突。之后,您可以像往常一样编译、测试和提交代码。

如果SVN检测到自上次更新以来您要提交的任何文件都是由其他人提交的,它将不允许您进行提交。相反,它将出错消息,告诉您在提交之前需要执行“svn更新”。当您执行“svn更新”时,其他人的更改将集成到您的本地文件中,而不会丢失任何数据,并且在您验证所有内容仍然有效后,您可以继续执行自己的提交


这并不太危险;最坏的情况是,如果另一个人修改了与您相同的文件中的许多相同行;在这种情况下,“svn更新”将导致冲突,您必须进入冲突的文件,手动编辑它们,以选择要保留的行和要删除的行(文件将包含这些行的您的版本和其他人的版本,并且它们将在文件中清楚地标记,因此这并不像听起来那么糟糕),然后执行“svn已解决”查看冲突文件,让SVN知道您已经处理了冲突。之后,您可以像往常一样编译、测试和提交代码。

感谢Jeremy花时间向我解释SVN的行为。非常有用!@Arnaud-阅读SVN,它有大量这样的有用信息。感谢Jeremy花时间解释我的SVN行为。真的很有帮助!@Arnaud-阅读SVN,它有很多这样有用的信息。