解决简单的 SVN 冲突

22

我是一个新手,在Mac上使用svn。我正在使用Versions

有人向我报告说我覆盖了其他开发人员的工作,所以我希望这里的某个人可以确保我做得正确。

昨晚我提交了我的工作,其他团队成员一整晚都在工作,所以今天我做的第一件事就是更新我的代码库。

这样做后,我收到了各种文件,我将用CSS文件作为示例:

myfile.css.r1593
myfile.css.r1587
myfile.css.mine
myfile.css

我有几个问题。

这些文件各代表什么?

我应该如何解决冲突?

在使用svn时,为避免覆盖他人的工作和避免在repo之外创建不必要的文件副本,最安全的工作方式是什么?

3个回答

28

myfile.css.rXYWZ代表着在XYWZ版本中的myfile.css

.mine文件是你的原始文件。

当文件在原始文件(myfile.css)中出现冲突时,会添加一些标记。

通常需要检查带有冲突标记的文件并查看其中的差异来解决冲突。

通常,你的部分会被标记为<<<<<<< .mine,库的部分会被标记为>>>>>>> .rXYWZ

手动解决冲突后,删除minerXYWZ行,然后输入:

svn resolved myfile.css

然后你就可以提交你的文件了。


谢谢Ivan。我正在查看myfile.css,我可以看到<<<<<<< .mine,但我看不到任何<<<<<<< .rXYWZ。这正常吗? - Finnnn
显然,XYWZ 是修订号,所以例如你可以找到类似于 .r1593 的内容。 尝试在文档中查找 <<<<<<< 并查看是否与我的有所不同。 - Ivan

0
今天我做的第一件事就是更新我的代码库。
如果您没有收到有关合并冲突的警告并开始使用合并工具,则(我认为)您必须配置版本或使用更智能的工具。
这些文件各代表什么?
自由文件(myfile.css 的修订版本),用于解决冲突。最旧的修订版本 r1587 - 最终文件的共同父级,mine - 您的文件,r1593 - 您的同事的版本。
我应该如何解决冲突?
检查冲突字符串,与作者交流,找到正确的变体。

-2
请看一下这个替代方案。
我有一个冲突。
  • 前往文件系统中的冲突文件

enter image description here

  • 在文本编辑器中打开"pdf_invoice.php.mine"(或.r4510,或.r4529,如果您想使用"theirs")。
  • 选择全部+复制。
  • 打开"pdf_invoice.php"。
  • 粘贴
  • 保存文件
  • 将文件标记为已解决
  • 再次提交

1
大多数情况下,您希望合并冲突的文件,而不是简单地覆盖远程方的工作。 - Monkey Supersonic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接