- 浏览: 238922 次
- 性别:
- 来自: 广州
最新评论
-
Janne:
你好 有源代码?可以发到我的邮箱里学学吗?2731049993 ...
achartengine画出动态折线图的效果 -
anbo724:
我的邮箱 anbo724@gmail.com谢谢@
achartengine画出动态折线图的效果 -
anbo724:
你好 请问有源码没《?谢谢
achartengine画出动态折线图的效果 -
weiday123:
额,觉得这个会不会占堆内存?
AdapterView、Adapter优化 -
wen742538485:
为什么没有呢?权限没加还是发创建了给你删了再想创建?是不允许重 ...
Android中为你的应用程序添加桌面快捷方式
SVN 基本操作
检出checkout(co)
svn co ${url}
更新update(up)
svn up
提交commit(ci)
svn ci -m " 修改xxx 问题"
查看当前目录最近5 次提交记录
svn log -l 5
查看当前工作拷贝信息
svn info
查看当前未提交的文件status(st)
svn st
这个命令输出每个添加、修改、删除过的目录和文件,前面的C 表示冲突,要特别注意。linux 下也可以用svn st | grep ^C 来查看冲突项。
查看当前修改内容
svn diff
撤销当前修改,覆盖为资源库最新版本
svn revert path/filename
递归撤销当前目录修改,覆盖为资源库最新版本。注意新加的文件不会被删除,这时也可以删除工作拷贝,重新checkout
svn revert . --recursive
SVN merge
自动合并
主干到分支
建立分支以后,一个要做的事情就是定期将主干上的修改合并到分支。先进入分支的工作拷贝,确认分支上所有修改已经提交,然后:
$ svn merge http://codeserver/calc/trunk
--- Merging r345 through r356 into '. ':
U button.c
U integer.c
--- Recording mergeinfo for merge of r345 through r356 into '. ':
U .
$
假设t1 时刻建立了分支,t2 时刻执行上面的命令进行合并,t3 时刻再次执行上面的命令进行合并。 由于分支是从主干分离出去的,所以第一次合并的时候(t2 ),svn 能知道分支建立以后进行了哪些修改,它会将分支建立以后这段时间主干的修改(t1 ~t2 ),应用到当前工作拷贝。
第二次执行上述命令的时候,svn 会意识到t1 ~t2 时刻的修改已经合并过了,所以它仅将t2 ~t3 时间段内主干的修改,应用到当前工作拷贝。 第二次合并的时候,svn 能够做到智能合并,这依赖于svn:mergeinfo 属性,请注意上面命令输出的最后一行,表示svn 正在将svn:mergeinfo 属性记录到当前目录下,所以执行svn merge 目录的时候,最好在工作拷贝的根路径下执行。
svn:mergeinfo 的内容大致如下,它记录合并了哪个路径的哪两个版本的差异,可用svn propget svn:mergeinfo path 查看,输出类似如下:
/branches/V8822_optimiz_20090722/lottery:8828-9374
/branches/V8865_wap_20090727/lottery:8876-8937
/branches/V8944_P3_20090803/lottery:8992-9400
/branches/V9377_newp3_20090818/lottery:9400-9947
/branches/V9377_wappay_20090818/lottery:9404-9493
分支回主干
在分支上开发完成后,需要将分支合并到主干。进入主干的工作拷贝的根目录,运行
$ svn merge http://codeserver/calc/branchurl --reintegrate
我们假设上述命令发生在t4 时刻,如果上面的命令不带--reintegrate 参数,可能会造成冲突,在svn 看来,t1 时刻建立了分支,然后主干上进 行了一些修改,分支上也进行了一些同样的修改(原因是我们在t2 、t3 时刻曾经将主干的修改合并到分支),所以就冲突了。 加上这个参数以后,根据分支目录http://codeserver/calc/branchurl 上的svn:mergeinfo 信息,svn 在进行合 并的时候会排除主干迁移到分支的这些修改,仅仅将分支上的修改迁回主干。
假设在t5 时刻,需要再次合并分支上的修改,这时可以不带--reintegrate 参数,因为在t4 时刻执行命令以后,已经将svn :mergeinfo 记录在主干。
手工合并
svn merge 可以理解为比较资源库中的两个不同版本(diff ),然后将差异应用到当前工作拷贝。 实际上,上面描述的自动合并功能是svn1.5 以后才有的,在这之前都是通过手工合并的方式工作。同时,在一些比较复杂的场景,手工合并会更加灵活。手工合并的方式为:
$ svn merge -r version1:version2 http://codeserver/calc/branchurl
$ svn merge -c version1 http://codeserver/calc/branchurl
上面的version1 和version2 是版本号,可以用HEAD 来代替当前最新版本。第一条命令将分支上version1 到version2 的修改合并到当前工作副本,第二条命令将第version1 次提交的修改合并到当前工作副本。
特别要注意理解 变更集 的概念。下面以15 选5 项目的分支为例,假设svn log 如下(经过简化)。
------------------------------------------------------------------------
r24673 | yeli.hl | 2012-01-08 21:44:33 +0800 ( 日, 08 1 2012) | 1 line
开奖时间修改为20 :30
------------------------------------------------------------------------
r24644 | yeli.hl | 2012-01-06 11:42:22 +0800 ( 五, 06 1 2012) | 1 line
修正参与链接
------------------------------------------------------------------------
r24615 | yeli.hl | 2012-01-04 18:59:30 +0800 ( 三, 04 1 2012) | 1 line
merge trunk 24611
------------------------------------------------------------------------
r24601 | yeli.hl | 2012-01-04 15:29:43 +0800 ( 三, 04 1 2012) | 1 line
优化追号期数的显示
------------------------------------------------------------------------
r24585 | yeli.hl | 2012-01-04 13:55:42 +0800 ( 三, 04 1 2012) | 1 line
修改“ 我的淘宝” 导航条为3.1 版本。
------------------------------------------------------------------------
r24506 | yeli.hl | 2011-12-30 15:17:26 +0800 ( 五, 30 12 2011) | 1 line
merge trunk 24505
------------------------------------------------------------------------
r24182 | yeli.hl | 2011-12-14 18:01:48 +0800 ( 三, 14 12 2011) | 1 line
十五选五中奖号码解析。
------------------------------------------------------------------------
r24050 | yeli.hl | 2011-12-05 15:04:39 +0800 ( 一, 05 12 2011) | 1 line
取彩期的时间程序调度。15X5 重命名。投注页面静态代码拆分。
------------------------------------------------------------------------
r23950 | yeli.hl | 2011-11-28 16:50:16 +0800 ( 一, 28 11 2011) | 1 line
anhui 15*5
可以看到,建立分支的那一次提交是r23950 ,则-r 23950:24050 和-c 24050 代表的是同一个 变更集 ,前者表示23950 ~24050 的差异,后者表示24050 这次提交的变更,其实它们都是一样的,都是24050 这次提交导致的变更。因此,假设我们已 经合并了-r A:B ,如果B 之后又有一系列提交,最新版本是C ,我们想把这之后所有的修改并过来,则需要-r B:C ,注意第二次包括了B 。
假设现在我们想要手动方式把这个分支的变更迁回主干。则命令为(需要排除两次merge 主干的修改):
$ svn merge -r 23950:24182 branch_url
$ svn merge -r 24506:24601 branch_url
$ svn merge -r 24615:HEAD branch_url
如果用-c 方式,最后一个命令等效为:
$ svn merge -c 24644 branch_url
$ svn merge -c 24673 branch_url
撤销已提交操作(回滚)
merge 的另外一个用途是撤销已经提交的代码,具体的做法是反向merge ,用下面的命令撤销一次提交,假设url 路径上进行了不应该的提交,进入该路径的工作拷贝,执行
$ svn merge -c -A url
$ svn merge -r C:B url
第一个命令撤销版本号是A 的提交,注意版本号前面的减号。第二个命令撤销B ~C 的提交。执行完以后,再commit 。当然,实际上svn 并不能删除任意一个版本,这些操作仍然都会在历史中,它的作用只是在当前的HEAD 中撤销了某次(或某段)提交的内容。
注意事项
1. 为了防止造成破坏,可以带上--dry-run 参数进行预览,合并的时候如果带上这个参数,工作拷贝将不会被修改,但是你能够看见有哪些代码被修改,哪些有冲突。
2. merge 前保证所有代码已经提交,并且已经进行了更新,并检查当前的工作拷贝是正确的。
3. 执行merge 操作以后,解决完冲突立即提交。这样可以保证本次提交代表了一次纯粹的merge 。例如上面的r24506 、r24615 ,在手工merge 回主干的时候,需要排除这些提交,如果这些提交包含了其它修改就没有办法区分了。
4. 提交的注释中描述清楚当前是从哪个版本merge 到哪个版本,有时候手工合并的时候需要参考到。
5. 在根目录执行merge 操作,避免在子目录和文件中留下mergeinfo 信息。
彩票SVN 相关操作
创建代码分支
以lottery 为例,随便找个目录,执行类似下面的命令
svn cp http://svn.taobao-develop.com/repos/lottery/trunk/lottery \
http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
-m " 创建XXX 项目分支" --parents
可以到http://svn.taobao-develop.com/repos/lottery/branches/ 下参考其它的分支命名。
合并主干的最新修改到分支
开发一段时间以后,需要将主干的最新修改合并到项目分支。进入分支工作拷贝的根路径(请注意一定要在根路径进行操作),运行
1. svn info 确认当前工作路径正确:指向分支
2. svn st 确认所有代码都已经提交
3. 运行命令
4. svn merge http://svn.taobao-develop.com/repos/lottery/trunk/lottery
5. 人肉解决冲突,可以用svn st 查看(*nix 下用svn st | grep ^C 查看) 是否有冲突,C 开头的文件标识有冲突,解决完以后用svn resolved path/filename 标记冲突为已解决
6. svn st 确认已经没有冲突了
7. 提交
合并分支修改到主干
上日常的时候,需要将项目分支修改合并到日常服务器的主干工作拷贝,但是不提交。在主干工作拷贝根路径(请注意一定要在根路径进行操作)下执行以下操作
1. svn info 确认当前工作路径正确:指向主干
2. svn st 确认所有代码都已经提交
3. 运行命令
4. svn merge http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery --reintegrate
5. 人肉解决冲突,可以用svn st 查看(*nix 下用svn st | grep ^C 查看) 是否有冲突,C 开头的文件标识有冲突,解决完以后用svn resolved path/filename 标记冲突为已解决
6. svn st 确认已经没有冲突了
删除代码分支(项目预发后删除代码分支)
随便找个目录,执行下面的命令(lottery 和keno 没有区别)
svn mv http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
http://svn.taobao-develop.com/repos/lottery/branches/backup_branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
-m " 删除${ 项目名称} 代码分支"
项目合并
可先从主干拉一个分支,两个项目分别将自己的修改合并到这个分支。上日常的时候再将这个分支合并到主干。
检出checkout(co)
svn co ${url}
更新update(up)
svn up
提交commit(ci)
svn ci -m " 修改xxx 问题"
查看当前目录最近5 次提交记录
svn log -l 5
查看当前工作拷贝信息
svn info
查看当前未提交的文件status(st)
svn st
这个命令输出每个添加、修改、删除过的目录和文件,前面的C 表示冲突,要特别注意。linux 下也可以用svn st | grep ^C 来查看冲突项。
查看当前修改内容
svn diff
撤销当前修改,覆盖为资源库最新版本
svn revert path/filename
递归撤销当前目录修改,覆盖为资源库最新版本。注意新加的文件不会被删除,这时也可以删除工作拷贝,重新checkout
svn revert . --recursive
SVN merge
自动合并
主干到分支
建立分支以后,一个要做的事情就是定期将主干上的修改合并到分支。先进入分支的工作拷贝,确认分支上所有修改已经提交,然后:
$ svn merge http://codeserver/calc/trunk
--- Merging r345 through r356 into '. ':
U button.c
U integer.c
--- Recording mergeinfo for merge of r345 through r356 into '. ':
U .
$
假设t1 时刻建立了分支,t2 时刻执行上面的命令进行合并,t3 时刻再次执行上面的命令进行合并。 由于分支是从主干分离出去的,所以第一次合并的时候(t2 ),svn 能知道分支建立以后进行了哪些修改,它会将分支建立以后这段时间主干的修改(t1 ~t2 ),应用到当前工作拷贝。
第二次执行上述命令的时候,svn 会意识到t1 ~t2 时刻的修改已经合并过了,所以它仅将t2 ~t3 时间段内主干的修改,应用到当前工作拷贝。 第二次合并的时候,svn 能够做到智能合并,这依赖于svn:mergeinfo 属性,请注意上面命令输出的最后一行,表示svn 正在将svn:mergeinfo 属性记录到当前目录下,所以执行svn merge 目录的时候,最好在工作拷贝的根路径下执行。
svn:mergeinfo 的内容大致如下,它记录合并了哪个路径的哪两个版本的差异,可用svn propget svn:mergeinfo path 查看,输出类似如下:
/branches/V8822_optimiz_20090722/lottery:8828-9374
/branches/V8865_wap_20090727/lottery:8876-8937
/branches/V8944_P3_20090803/lottery:8992-9400
/branches/V9377_newp3_20090818/lottery:9400-9947
/branches/V9377_wappay_20090818/lottery:9404-9493
分支回主干
在分支上开发完成后,需要将分支合并到主干。进入主干的工作拷贝的根目录,运行
$ svn merge http://codeserver/calc/branchurl --reintegrate
我们假设上述命令发生在t4 时刻,如果上面的命令不带--reintegrate 参数,可能会造成冲突,在svn 看来,t1 时刻建立了分支,然后主干上进 行了一些修改,分支上也进行了一些同样的修改(原因是我们在t2 、t3 时刻曾经将主干的修改合并到分支),所以就冲突了。 加上这个参数以后,根据分支目录http://codeserver/calc/branchurl 上的svn:mergeinfo 信息,svn 在进行合 并的时候会排除主干迁移到分支的这些修改,仅仅将分支上的修改迁回主干。
假设在t5 时刻,需要再次合并分支上的修改,这时可以不带--reintegrate 参数,因为在t4 时刻执行命令以后,已经将svn :mergeinfo 记录在主干。
手工合并
svn merge 可以理解为比较资源库中的两个不同版本(diff ),然后将差异应用到当前工作拷贝。 实际上,上面描述的自动合并功能是svn1.5 以后才有的,在这之前都是通过手工合并的方式工作。同时,在一些比较复杂的场景,手工合并会更加灵活。手工合并的方式为:
$ svn merge -r version1:version2 http://codeserver/calc/branchurl
$ svn merge -c version1 http://codeserver/calc/branchurl
上面的version1 和version2 是版本号,可以用HEAD 来代替当前最新版本。第一条命令将分支上version1 到version2 的修改合并到当前工作副本,第二条命令将第version1 次提交的修改合并到当前工作副本。
特别要注意理解 变更集 的概念。下面以15 选5 项目的分支为例,假设svn log 如下(经过简化)。
------------------------------------------------------------------------
r24673 | yeli.hl | 2012-01-08 21:44:33 +0800 ( 日, 08 1 2012) | 1 line
开奖时间修改为20 :30
------------------------------------------------------------------------
r24644 | yeli.hl | 2012-01-06 11:42:22 +0800 ( 五, 06 1 2012) | 1 line
修正参与链接
------------------------------------------------------------------------
r24615 | yeli.hl | 2012-01-04 18:59:30 +0800 ( 三, 04 1 2012) | 1 line
merge trunk 24611
------------------------------------------------------------------------
r24601 | yeli.hl | 2012-01-04 15:29:43 +0800 ( 三, 04 1 2012) | 1 line
优化追号期数的显示
------------------------------------------------------------------------
r24585 | yeli.hl | 2012-01-04 13:55:42 +0800 ( 三, 04 1 2012) | 1 line
修改“ 我的淘宝” 导航条为3.1 版本。
------------------------------------------------------------------------
r24506 | yeli.hl | 2011-12-30 15:17:26 +0800 ( 五, 30 12 2011) | 1 line
merge trunk 24505
------------------------------------------------------------------------
r24182 | yeli.hl | 2011-12-14 18:01:48 +0800 ( 三, 14 12 2011) | 1 line
十五选五中奖号码解析。
------------------------------------------------------------------------
r24050 | yeli.hl | 2011-12-05 15:04:39 +0800 ( 一, 05 12 2011) | 1 line
取彩期的时间程序调度。15X5 重命名。投注页面静态代码拆分。
------------------------------------------------------------------------
r23950 | yeli.hl | 2011-11-28 16:50:16 +0800 ( 一, 28 11 2011) | 1 line
anhui 15*5
可以看到,建立分支的那一次提交是r23950 ,则-r 23950:24050 和-c 24050 代表的是同一个 变更集 ,前者表示23950 ~24050 的差异,后者表示24050 这次提交的变更,其实它们都是一样的,都是24050 这次提交导致的变更。因此,假设我们已 经合并了-r A:B ,如果B 之后又有一系列提交,最新版本是C ,我们想把这之后所有的修改并过来,则需要-r B:C ,注意第二次包括了B 。
假设现在我们想要手动方式把这个分支的变更迁回主干。则命令为(需要排除两次merge 主干的修改):
$ svn merge -r 23950:24182 branch_url
$ svn merge -r 24506:24601 branch_url
$ svn merge -r 24615:HEAD branch_url
如果用-c 方式,最后一个命令等效为:
$ svn merge -c 24644 branch_url
$ svn merge -c 24673 branch_url
撤销已提交操作(回滚)
merge 的另外一个用途是撤销已经提交的代码,具体的做法是反向merge ,用下面的命令撤销一次提交,假设url 路径上进行了不应该的提交,进入该路径的工作拷贝,执行
$ svn merge -c -A url
$ svn merge -r C:B url
第一个命令撤销版本号是A 的提交,注意版本号前面的减号。第二个命令撤销B ~C 的提交。执行完以后,再commit 。当然,实际上svn 并不能删除任意一个版本,这些操作仍然都会在历史中,它的作用只是在当前的HEAD 中撤销了某次(或某段)提交的内容。
注意事项
1. 为了防止造成破坏,可以带上--dry-run 参数进行预览,合并的时候如果带上这个参数,工作拷贝将不会被修改,但是你能够看见有哪些代码被修改,哪些有冲突。
2. merge 前保证所有代码已经提交,并且已经进行了更新,并检查当前的工作拷贝是正确的。
3. 执行merge 操作以后,解决完冲突立即提交。这样可以保证本次提交代表了一次纯粹的merge 。例如上面的r24506 、r24615 ,在手工merge 回主干的时候,需要排除这些提交,如果这些提交包含了其它修改就没有办法区分了。
4. 提交的注释中描述清楚当前是从哪个版本merge 到哪个版本,有时候手工合并的时候需要参考到。
5. 在根目录执行merge 操作,避免在子目录和文件中留下mergeinfo 信息。
彩票SVN 相关操作
创建代码分支
以lottery 为例,随便找个目录,执行类似下面的命令
svn cp http://svn.taobao-develop.com/repos/lottery/trunk/lottery \
http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
-m " 创建XXX 项目分支" --parents
可以到http://svn.taobao-develop.com/repos/lottery/branches/ 下参考其它的分支命名。
合并主干的最新修改到分支
开发一段时间以后,需要将主干的最新修改合并到项目分支。进入分支工作拷贝的根路径(请注意一定要在根路径进行操作),运行
1. svn info 确认当前工作路径正确:指向分支
2. svn st 确认所有代码都已经提交
3. 运行命令
4. svn merge http://svn.taobao-develop.com/repos/lottery/trunk/lottery
5. 人肉解决冲突,可以用svn st 查看(*nix 下用svn st | grep ^C 查看) 是否有冲突,C 开头的文件标识有冲突,解决完以后用svn resolved path/filename 标记冲突为已解决
6. svn st 确认已经没有冲突了
7. 提交
合并分支修改到主干
上日常的时候,需要将项目分支修改合并到日常服务器的主干工作拷贝,但是不提交。在主干工作拷贝根路径(请注意一定要在根路径进行操作)下执行以下操作
1. svn info 确认当前工作路径正确:指向主干
2. svn st 确认所有代码都已经提交
3. 运行命令
4. svn merge http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery --reintegrate
5. 人肉解决冲突,可以用svn st 查看(*nix 下用svn st | grep ^C 查看) 是否有冲突,C 开头的文件标识有冲突,解决完以后用svn resolved path/filename 标记冲突为已解决
6. svn st 确认已经没有冲突了
删除代码分支(项目预发后删除代码分支)
随便找个目录,执行下面的命令(lottery 和keno 没有区别)
svn mv http://svn.taobao-develop.com/repos/lottery/branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
http://svn.taobao-develop.com/repos/lottery/branches/backup_branches/V${ 当前主干版本号}_${ 项目名称}_${date}/lottery \
-m " 删除${ 项目名称} 代码分支"
项目合并
可先从主干拉一个分支,两个项目分别将自己的修改合并到这个分支。上日常的时候再将这个分支合并到主干。
发表评论
-
hashCode与equals的区别与联系
2012-07-17 23:51 936一、equals方法的作用 1、默认情况(没有覆盖eq ... -
JAVA 计算任意两个日期之间的天数....
2012-05-24 14:02 1701public static int dispersionDay ... -
java的堆,栈,静态代码区 详解
2012-03-22 11:00 1327面试中,有家公司做数 ... -
Thread.sleep 会让 synchronized 放弃得到的锁吗?
2012-03-22 10:43 944想验证一下多线程下数据共享出错的问题,在下面的程序中定义了一个 ... -
StringBuilder与StringBuffer和String 的区别
2012-03-13 10:03 1029很多人对String和StringBuffer的区别已经很了解 ... -
从C++到Java
2012-08-02 14:51 10051. 一切皆为对象 Java应用程序即是对象的集合,它旨在完 ... -
JAVA经典算法32题
2012-02-28 09:09 1003【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每 ... -
newInstance() 和 new 有什么区别?
2012-02-21 09:14 1317在初始化一个类,生成一个实例的时候;newInstance() ... -
定时到服务器取数据并刷新
2012-02-13 09:46 957import java.io.BufferedReader; ... -
使用HttpGet和HttpPost访问HTTP资源
2012-02-11 22:46 1558需求:用户登录(name:用户名,pwd:密码) (一)Ht ... -
Java迷题:等于,还是不等于?(转)
2012-02-10 09:02 743表面上看来这只是一些基础的问题,当真正的了解了以后你就会发现: ... -
遍历Map的四种方法
2012-01-18 16:09 991public static void main(String[ ... -
Java内部类总结
2012-01-18 15:45 979内部类是指在一个类的内部再定义一个类,相对这个类为外部类,定义 ... -
jdk环境变量配置
2012-01-18 15:00 1172使用JDK一共需要配置三个环境变量:JAVA_HOME、CLA ... -
java多线程 sleep()和wait()的区别
2012-01-17 11:08 808接触了一些多线程的东西,还是从java入手吧。 相信看这篇文 ... -
List,set,Map 的用法和区别等
2012-01-17 11:09 983Collection ├List │├Linked ... -
Java 的基本数据类型
2012-01-16 15:27 1012Java是一门面向对象的高 ...
相关推荐
1. 下载安装包:根据你的操作系统(如Windows、Linux或macOS)找到对应的SVN命令行工具安装包。 2. 执行安装:运行下载的安装程序,按照提示完成安装过程。 3. 配置环境变量:确保SVN的可执行文件路径被添加到系统的...
1. **安装与配置**:首先,用户需要下载并安装如上述文件的客户端,完成安装后,SVN命令行工具通常会添加到系统的PATH环境变量中,使得用户可以在任何目录下直接运行`svn`命令。 2. **基本命令**: - `svn ...
本文将深入探讨如何使用SVN命令行来修改已提交的版本备注,这对于记录和追踪代码变更历史至关重要。 首先,我们要明白在SVN中,每次提交都会伴随着一个描述性的注释,即版本备注,它用于记录这次提交做了哪些改动。...
1. **通过svn命令行**:在命令行中,你可以输入`svn info URL`,这里的URL是你的svn仓库地址。这个命令会返回仓库的详细信息,包括最新版本号。 2. **使用图形界面客户端**:如果你使用的是像TortoiseSVN这样的图形...
3. SVN命令行工具与图形界面: - 命令行工具如`svn`提供了一套全面的命令,适合熟练用户快速操作。 - 图形界面工具如TortoiseSVN,为Windows用户提供直观的右键菜单集成,简化了SVN的操作流程。 4. "解压版.txt...
以上是SVN命令行的基本操作,熟练掌握这些命令将极大地提升你在版本控制方面的效率。记住,每个命令都可以通过添加选项进行更具体的定制,如指定修订版本或交互方式。在实际工作中,根据项目需求和团队协作模式,你...
SVN提供了一套丰富的命令行工具来执行各种操作,如检出、添加、提交、更新、锁定/解锁等。以下是对标题和描述中提到的SVN常用命令的详细解释: 1. **检出(Checkout)**: 使用`svn checkout`或`svn co`命令将远程...
#### 二、基本操作命令 ##### 1. 将文件checkout到本地目录 **命令格式**: ``` svn checkout path (path是服务器上的目录) 简写:svn co ``` **示例**: ``` svn checkout svn://192.168.1.1/pro/domain ``` **...
SVN的基本操作主要包含以下几个部分: 1.SVN的导入(Import) 在开始使用SVN进行版本控制之前,首先需要将现有的项目代码库导入SVN服务器。这一过程称之为Import。导入时,需要提供源代码的URL地址以及SVN服务器的...
以上命令涵盖了Subversion (SVN) 中常用的命令及其基本用法。掌握这些命令对于有效地使用SVN管理项目版本是非常重要的。通过熟练使用这些命令,可以提高团队协作效率并确保项目的稳定性和一致性。
- 提供了SVN命令行操作的基本信息。 - 提供了使用TortoiseSVN图形界面操作的基本信息。 6. 安装常见问题: - 针对web服务器的选择进行了说明。 - 对安装Apache服务器过程中需要注意的事项进行了列举。 - 指出...
本 SVN 中文操作手册将深入讲解 SVN 的基本概念、安装与配置、命令行操作以及日常开发中的实践应用。 1. SVN 基本概念: - 版本库(Repository):存储所有文件和目录变更历史的中央数据库。 - 工作副本(Working...
以下是对SVN基本操作的详细解释。 1. **安装与配置SVN** 在Windows环境下,可以下载并安装TortoiseSVN,这是一个直观的SVN客户端,提供了与文件资源管理器集成的图形用户界面。安装后,通过右键菜单即可进行SVN...
无论是通过手动删除`.svn`目录还是使用SVN命令行工具,掌握这些技巧都能显著提升工作效率,使我们的工作更加有序和高效。在处理大量文件和目录时,选择合适的方法可以节省大量时间,确保项目的顺利进行。
SVN的基本操作** - **Checkout(检出)**: 拿取仓库中的最新代码到本地,创建工作副本。 - **Commit(提交)**: 将本地的修改上传到仓库,更新版本历史。 - **Update(更新)**: 获取仓库中的最新更改到本地工作...
另外,还有一些命令行工具,如svn命令行工具,适用于Linux、macOS和Windows等操作系统。 4. **SVN命令行**: SVN命令行工具提供了丰富的命令,如`svn checkout`(获取工作副本)、`svn update`(同步仓库最新改动...
同时,了解SVN的基本操作命令,如`svn checkout`(检出)、`svn commit`(提交)、`svn update`(更新)和`svn diff`(比较)等,这对于日常开发和版本管理至关重要。 最后,持续关注Subversion的版本更新和安全...