我不得不将受 SVN 保护的代码恢复到较早的版本,然后我对其进行了大量修改。我想将修改后的版本提交给 SVN,但是当我尝试提交时,SVN 告诉我必须先更新。我不想这样做。
是否可以指定我的本地版本(工作副本)是新的当前正确版本,而无需来自 SVN 的更新?
我不得不将受 SVN 保护的代码恢复到较早的版本,然后我对其进行了大量修改。我想将修改后的版本提交给 SVN,但是当我尝试提交时,SVN 告诉我必须先更新。我不想这样做。
是否可以指定我的本地版本(工作副本)是新的当前正确版本,而无需来自 SVN 的更新?
答案似乎是svn up --accept mine-full
HEAD
除了主干或分支之外,您不能提交更改。这适用于所有版本控制系统。否则,人们将覆盖他们想要保留的更改。
你可以做两件事:
让我们再次假设,我检查了修订版 11,980,最新修订版是 12,0001:
$ svn co -r 11980 http://path/to/my/project workdir
$ cd workdir
...a bunch of changes
$ svn commit -m"My changes"
SVN Error: you need to update first...
$ svn copy -r11900 http://path/to/my/project@11900 http://path/to/branches/my_branch/project
现在,我有了作为一个分支的工作基础。现在,我要切换到那个分支:
$ svn switch http://path/to/branches/my_branch/project
我的工作目录位于基于我正在处理的旧版本的新分支上。我所有的更改都没有被开关改变。我现在可以毫无问题地提交我的更改。
$ svn commit -m"My changes"
$ It worked!
现在,如果我愿意,我可以将我的更改合并回原始项目:
$ svn co http://path/to/my/project workdir2
$ cd workdir2
$ svn merge http://path/to/branches/my_branch/project
1)在硬盘的其他地方备份您的最终代码库。
2) 进行更新
3) 从 SVN 中删除所有内容
4) 从备份驱动器复制粘贴所有代码库
5) 提交
或者
如果有帮助,您可以执行清理,我不这么认为...