当前位置:  开发笔记 > 编程语言 > 正文

从SVN更新时,是否可以始终(强制)覆盖本地更改?忽略冲突?

如何解决《从SVN更新时,是否可以始终(强制)覆盖本地更改?忽略冲突?》经验,为你挑选了4个好方法。

我知道我应该在自己的一个分支上工作,但是我们中的一些人在一个项目的同一个分支上.其中一个Dev提交了一个提交,我只是想用SVN的最新版本更新我的本地副本.运行'svn update'我得到这个输出:

Restored 'index.html'
U    somescript.php
Conflict discovered in file.xml'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: 

有没有选项/方法来覆盖我的本地更改并从subversion获取最新文件并忽略所有冲突?

我查看了Stack上的其他一些帖子,他们都没有回答这个问题.他们说要删除项目并再次结帐,我想这是最好的方式,所以它...但是想要更多的细节,为什么我不能强制更新.谢谢

编辑:

所以我选择了'show all options':

(s)显示所有选项:s

  (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

我想我应该选择'tc'?



1> tato..:

如果你真的想要一份HEAD(repos的最新版本),你应该这样做

svn revert -R  // discard all your changes inside path (recursive)
svn update           // get latest revision of all files (recursive)

而已.

请注意,自上次"提交"以来,您将丢失所有更改.

编辑:增加了-R 从Isu_guy答案为完整起见,帮助读者找到一个完整的答案



2> lsu_guy..:

tato的回答绝对正确,请注意他的谨慎.您将失去所有更改.只是澄清语法和一些细微差别

默认情况下,svn revert是非递归的,需要一个工作路径.要进行递归添加"-R".如果您在当前目录中,请使用"./"作为下面的"路径",或使用类似"/ path_to_your_folder"的绝对路径

svn revert -R 

svn update是递归的.如果您在目录中,则根本不需要路径

svn update



3> Carnix..:

我这样做:

svn up --accept tf

要么

svn up --accept theirs-full

也就是说,"svn revert -R"然后"svn up"在你的工作副本的根部也可以做到这一点.就我而言,我有几个用于各种项目的WCs,因此我运行一个shell脚本,在我启动计算机时更新所有这些.我不使用接受,而是使用"--accept p"推迟解决,因为它是一个自动化过程,然后我合并任何SVN无法自动合并的冲突(通常,这涉及恢复,但它取决于).



4> Andrei Nisto..:

使用svn 1.6.11(由CentOS 6.4提供),Carnix的命令应如下所示

svn up --accept theirs-full

(因为我没有足够的声誉而无法添加评论)

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有