Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN切换到比工作副本旧的分支_Svn_Conflict_Tree Conflict - Fatal编程技术网

SVN切换到比工作副本旧的分支

SVN切换到比工作副本旧的分支,svn,conflict,tree-conflict,Svn,Conflict,Tree Conflict,我对主干的工作副本进行了更改。然后,我想切换到另一个分支,以便我可以致力于它。是的,现在我的项目一团糟。我切换到的分支位于主干后面,缺少我修改过的文件。我很沮丧,就换回了后备箱 现在我在几个地方有树冲突,比如“本地编辑,切换时传入删除”。由于冲突,我无法提交这些。我能看到的唯一选择是恢复本地更改,或者基本上重新签出整个项目并丢失所有更改 另一个问题-我还原(并删除)了其中一个发生树冲突的文件夹。现在,我可以看到该文件夹存在于存储库中,但它已从我的本地项目中消失,更新不会将其带到我的工作副本中。这

我对主干的工作副本进行了更改。然后,我想切换到另一个分支,以便我可以致力于它。是的,现在我的项目一团糟。我切换到的分支位于主干后面,缺少我修改过的文件。我很沮丧,就换回了后备箱

现在我在几个地方有树冲突,比如“本地编辑,切换时传入删除”。由于冲突,我无法提交这些。我能看到的唯一选择是恢复本地更改,或者基本上重新签出整个项目并丢失所有更改

另一个问题-我还原(并删除)了其中一个发生树冲突的文件夹。现在,我可以看到该文件夹存在于存储库中,但它已从我的本地项目中消失,更新不会将其带到我的工作副本中。这里发生了什么事?1.它存在于回购协议中,2。它不存在于我的工作副本中,因为我刚刚删除了它,3。更新不会将其带到我的工作副本中。为什么会这样

为什么这么难?我有本地更改,我想提交它们。我不明白为什么我要换到另一家分行再回来。如果文件在我切换到的分支上不存在,为什么我不能将文件提交到该分支以便它存在

下面是eclipse为其中一个树冲突提供的信息,这是对我切换到的分支上不存在的文件的本地更改。我假设它想在我切换时删除该文件,因为它不在分支中。那么我现在该如何解决这个问题呢?我真正想做的是将它添加到分支并提交我的更改,但我不能,因为现在有冲突

Resolve Tree Conflict on my_jsp.jsp
Conflict Description:
local edit, incoming delete upon switch
Source left: (file) https://......./WebContent/WEB-INF/jsp/my_jsp.jsp@349
Source right: (none) https://......./WebContent/WEB-INF/jsp/my_jsp.jsp@353
它给我的唯一选择是恢复、删除或比较,所有这些都是不可接受的。我有很多本地的变化

对于您的第一个问题:

您可以做的一件事是对当前更改进行修补,然后恢复到主干并应用修补程序。如果您运行的是linux,那么这些命令看起来像

svn diff > ~/patch.diff
svn switch svn://path/to/trunk
patch -p0 < ~/patch.diff
svn diff>~/patch.diff
svn开关svn://path/to/trunk
贴片-p0<~/patch.diff
这会让你或多或少回到你曾经的位置(希望如此)。如果您没有运行linux,Eclipse或SVNTortoise中应该有类似的命令。当你想去新的分支机构时,为了安全起见,再做一次区分。如果确实远远落后,您可能必须手动进行更改,或者确保您首先将分支与主干合并(如果这是一个选项)

关于第二个问题:

我想我看到过类似的情况,但我不记得是什么问题。您是否尝试过更新丢失的文件?

针对第一个问题:

您可以做的一件事是对当前更改进行修补,然后恢复到主干并应用修补程序。如果您运行的是linux,那么这些命令看起来像

svn diff > ~/patch.diff
svn switch svn://path/to/trunk
patch -p0 < ~/patch.diff
svn diff>~/patch.diff
svn开关svn://path/to/trunk
贴片-p0<~/patch.diff
这会让你或多或少回到你曾经的位置(希望如此)。如果您没有运行linux,Eclipse或SVNTortoise中应该有类似的命令。当你想去新的分支机构时,为了安全起见,再做一次区分。如果确实远远落后,您可能必须手动进行更改,或者确保您首先将分支与主干合并(如果这是一个选项)

关于第二个问题:


我想我看到过类似的情况,但我不记得是什么问题。您是否尝试过
svn up
只更新丢失的文件?

我从未进行过修补,尽管这听起来似乎是解决方案。最后,我将5个文件的更改复制到记事本中,恢复,然后手动重新应用。无论如何,我会接受你的回答。谢谢我从来没有得到修补工作,虽然这听起来像是一个解决方案。最后,我将5个文件的更改复制到记事本中,恢复,然后手动重新应用。无论如何,我会接受你的回答。谢谢