Svn Subversion:合并(暂时)脱离版本控制的文件

Svn Subversion:合并(暂时)脱离版本控制的文件,svn,merge,Svn,Merge,我发现自己经常和不太精通版本控制的人一起工作,所以下面的Subversion用例将非常有用,如果我知道这些神奇的词语的话 我提交我的最新版本,注意修订版R 我通过电子邮件将一个文件发送给合作者并继续工作,可能会在工作中提交更多更改 当我从collaborator获得该文件时,我将从R到其版本的更改进行三向合并,并将其合并到我的工作副本中 分支等在这方面似乎有点重,但我愿意接受任何关于完成工作的好方法的建议。可能有一个更简单的解决方案,但这应该是可行的: 从清理工作副本开始(即,无本地更改) 回到

我发现自己经常和不太精通版本控制的人一起工作,所以下面的Subversion用例将非常有用,如果我知道这些神奇的词语的话

  • 我提交我的最新版本,注意修订版R
  • 我通过电子邮件将一个文件发送给合作者并继续工作,可能会在工作中提交更多更改
  • 当我从collaborator获得该文件时,我将从R到其版本的更改进行三向合并,并将其合并到我的工作副本中

  • 分支等在这方面似乎有点重,但我愿意接受任何关于完成工作的好方法的建议。

    可能有一个更简单的解决方案,但这应该是可行的:

  • 从清理工作副本开始(即,无本地更改)
  • 回到你之前记录的修订版R(可能写在电子邮件的某个地方)
  • 将合作者更改的文件复制到工作区中的文件上copy@R
  • 更新至最新版本,合并中的更改
  • 提交合并的更改

  • 看起来@Martinho Fernandes给了你一个很好的答案,但我想指出,Subversion中的分支根本不是重量级的。这是一种廉价、简单、恒定的时间和空间拷贝操作。使用分支可能会使流程不那么容易出错:

  • 当您想将代码发送给您的贡献者时,
    svn cp
    将代码发送到新的分支机构。如果您遵循,这将类似于
    svncphttp://your-repository.com/branches/some-name
  • (可选)使用
    svn export
    获取代码副本,以提供给贡献者
  • 继续在后备箱里工作
  • 当您从贡献者那里获得代码时,请确保您已经签入了对trunk所做的任何更改,否则下一步将无法像您预期的那样工作
  • 从工作副本的根目录中,
    svn开关
  • 将贡献者的代码复制到工作副本上并签入
  • svn开关
  • 现在,将上一个分支提交中的更改合并到工作副本中。如果你不习惯的话,这可能是最棘手的一步,但是一旦你知道怎么做,这就相当简单了。请确保开始

  • 我知道这并不像使用分支和合并那样简单,但是一旦你掌握了它,你可能不想用任何其他方式来做这件事(至少使用颠覆)。Aleks:你可以考虑通过投票和/或接受我的答案(或者其他)作为正确的答案。您可以在中了解有关网站工作方式的更多信息。哦,欢迎!是的,我知道这个练习(从数学溢出)。只是还没有赢得更多选票的信心。:)听起来不错。分支对我来说总是有点神秘,但我大概是时候掌握它了。我可以看到,如果你有多个文件进出,这将是一种方式。