有人可以解释Tortoise SVN在冲突文件上的以下两个选项之间的区别:
旁注。为什么到目前为止还没有人将这种令人困惑的术语用作错误?
答案 0 :(得分:53)
使用'他们'解决冲突意味着当您尝试签入两个编辑冲突的文件时,SVN将丢弃您的更改并改为使用其他人更改。
使用“我的”解决冲突意味着您将丢弃其更改,并使用您的文件版本。
答案 1 :(得分:40)
我想添加整个列表以供进一步参考:
(e) edit - change merged file in an editor
(df) diff-full - show all changes made to merged file
(r) resolved - accept merged version of file
(dc) display-conflict - show all conflicts (ignoring merged version)
(mc) mine-conflict - accept my version for all conflicts (same)
(tc) theirs-conflict - accept their version for all conflicts (same)
(mf) mine-full - accept my version of entire file (even non-conflicts)
(tf) theirs-full - accept their version of entire file (same)
(p) postpone - mark the conflict to be resolved later
(l) launch - launch external tool to resolve conflict
(s) show all - show this list
答案 2 :(得分:32)
我同意。
在我看来,如果它说的话会更清楚:
答案 3 :(得分:7)
BuzzAnn是对的。 mine vs他们的是不明确的,因为存储库中的内容也可能是我的。明确的区别是存储库与本地副本。
答案 4 :(得分:5)
SVN命令行合并尤其令人困惑,特别是在将分支合并回主干时。 “我的更改”是我在分支中创建的,但根据SVN 会出错。为了使事情真正复杂化,SVN在命令行帮助中将路径称为SOURCE,TARGET和HEAD。
如果您从目录C:\ Project1 \ Trunk
运行此合并语句,这是简单答案svn merge -r 60:68 C:\Project1\branches\UpdatesToProject1
“我的”是运行SVN的目录(C:\ Project1 \ Trunk)。
“他们”是您要合并并在命令行中指定的目录(C:\ Project1 \ branches \ UpdatesToProject1)
如果SVN给出了MINE和THEIRS引用的路径,那真是太好了。
答案 5 :(得分:1)
如果您接受存储库中的内容不再(仅是)您的内容,则将其与所有具有访问权限的用户共享,那么可能会更清楚。
在这种情况下:
“他们的”是指“团队在存储库中的共享代码” “我的”是指(我的)“工作副本”(可能在本地计算机上)
所以: “使用他们的”将您的工作副本替换为共享副本,放弃您在本地计算机上存在的更改。 “使用我的”决定工作副本中的代码是应该存储在存储库中的代码,而丢弃存储库中当前的代码。