1.软文推荐

2.软文推荐

3.软文推荐

如今是一个团结协作的时代,开发一个系统,往往会多人协作共同完成。版本管理是必不可少的,常用的软件有Git,SVN等。今天说一下,SVN管理版本时,如果出现冲突后,如何快速解决冲突。

假设 A、B 两个用户都在版本号为 100 的时候,更新了 kingtuns.txt 这个文件,A 用户在修改完成之后提交 kingtuns.txt 到服务器, 这个时候提交成功,这个时候 kingtuns.txt 文件的版本号已经变成 101 了。同时B用户在版本号为 100 的 kingtuns.txt 文件上作修改, 修改完成之后提交到服务器时,由于不是在当前最新的 101 版本上作的修改,所以导致提交失败。

我们已在本地检出 runoob01 库,下面我们将实现版本冲突的解决方法。

我们发现 HelloWorld.html 文件存在错误,需要修改文件并提交到版本库中。

我们将 HelloWorld.html 的内容修改为 “HelloWorld! http://www.runoob.com/”。

root@runoob:~/svn/runoob01/trunk# cat HelloWorld.html
HelloWorld! http://www.runoob.com/

用下面的命令查看更改:

root@runoob:~/svn/runoob01/trunk# svn diff
Index: HelloWorld.html
===================================================================
--- HelloWorld.html     (revision 5)
+++ HelloWorld.html     (working copy)
@@ -1,2 +1 @@
-HelloWorld! http://www.runoob.com/
+HelloWorld! http://www.runoob.com/!

尝试使用下面的命令来提交他的更改:

root@runoob:~/svn/runoob01/trunk# svn commit -m "change HelloWorld.html first"
Sending        HelloWorld.html
Transmitting file data .svn: E160028: Commit failed (details follow):
svn: E160028: File '/trunk/HelloWorld.html' is out of date

这时我发现提交失败了。

因为此时,HelloWorld.html 已经被 user02 修改并提交到了仓库。Subversion 不会允许 user01(本例使用的 svn 账号)提交更改,因为 user02 已经修改了仓库,所以我们的工作副本已经失效。

为了避免两人的代码被互相覆盖,Subversion 不允许我们进行这样的操作。所以我们在提交更改之前必须先更新工作副本。所以使用 update 命令,如下:

root@runoob:~/svn/runoob01/trunk# svn update
Updating '.':
C    HelloWorld.html
Updated to revision 6.
Conflict discovered in file 'HelloWorld.html'.
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
       (mc) my side of conflict, (tc) their side of conflict,
       (s) show all options: mc
Resolved conflicted state of 'HelloWorld.html'
Summary of conflicts:
 Text conflicts: 0 remaining (and 1 already resolved)

这边输入”mc”,以本地的文件为主。你也可以使用其选项对冲突的文件进行不同的操作。

默认是更新到最新的版本,我们也可以指定更新到哪个版本

svn update -r6

此时工作副本是和仓库已经同步,可以安全地提交更改了

root@runoob:~/svn/runoob01/trunk# svn commit -m "change HelloWorld.html second"
Sending        HelloWorld.html
Transmitting file data .
Committed revision 7.

本文来源:www.lxlinux.net/7908.html,若引用不当,请联系修改。

相关文章 8

2

中小型企业服务器(中小型企业服务器架构图) 2分钟前

目录:1、有中小型企业的商用服务器推荐吗?2、中小型企业如何选择云服务器的呢?3、中小企业用什么服务器比较好?虚拟主机还是自己买...

3

国外cdn(国外cdn服务商) 5分钟前

目录:...

5

Linux命令-cat详解 8分钟前

cat将文件、标准输入内容打印至标准输出,常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与...

6

关于韩国动态vps服务器的信息 10分钟前

目录:1、动态拨号VPS是干什么用的?2、动态vps是什么3、动态vps的作用主要在哪些.在推广上主要用动态拨号VPS是干什么用的? 一、互联网营...

8

Linux系统中禁用IPV6 14分钟前

IPV6这个协议暂时我们还用不到。而且开启该协议有时对系统运行有一定的影响,一些网卡还会因为IPv6出现系统未响应,假死等情况,本篇文...