TortoiseSVN客户端用法
从图中可以看到,涉及SVN的选项有3个。
1. SVN Update:从服务器更新到本地
2. SVN Commit:从本地提交到服务器
3. TortoiseSVN:查看详细的SVN选项
一. 更新
更新使用SVN Update选项。
点击SVN Update选项后,会弹出提示框表示哪些内容被更新,哪些内容被合并,哪些内容被下载,等。
其中:
1. 若服务器版本的文件新于本地文件,那么会从服务器上更新下载。所谓新于本地文件,是指:本地从服务器上下载了版本1。现在服务器上有了版本7。那么本地从服务器上更新时,发现本地相对于服务器上7之前的版本有完全相同的版本存在,那么就直接更新版本7。
这是由于对服务器上的版本而言,客户端的版本是被逐步覆盖过来的,所以直接用最新版本替换即可。
2. 若甲和乙同时下载了服务器上的版本1,甲修改完成,并提交。但乙还没有修改完。此时若乙进行更新,会有以下情况:
① 对于甲和乙都没有修改的文件,不会更新
② 对于甲修改了,但乙没有修改的文件,会被更新
③ 对于甲没有修改,但乙修改了的文件,会被保留,提示冲突
④ 对于甲修改了,乙也修改了的文件,会被保留,提示冲突
3. 对于冲突的文件,会有个红色的叹号。对于此类文件的处理方式应该是:
使用SVN,查看冲突的文件代码。
① 对于他人更改并提交的,可以合并到本地说的
② 对于自己更改但尚未提交的,可以保留
③ 若要直接使用服务器端版本文件,直接点击Revert
由上可知,若本地对文件进行了修改,调用SVN的SVN Update,不会将本地修改的文件覆盖掉,除非人为点击了reserve。
二. 提交
点击SVN Commit后,会对本地版本进行提交,并弹出比较界面(并非直接修改服务器版本)。点击后弹出以下界面:
要将列表中所有的文件都提交到服务器,则在上面的Message中填写本地文件所做的更新日志,然后点击下方的OK(不填写日志OK会一直处于不可点击状态)
综上述,正确的方法应该是:
1. 本地代码完成,需要提交
2. 进行SVN Update,使用更新中的方法将服务器端版本更新到本地。但要坚持一个原则,就是同时保留自己和他人更改的内容,不可以擅自删除他人更新的内容
3. 通过2,服务器端最新版本被合并到了本地客户端。然后将本地客户端版本进行SVN Commi。注意写好日志。
由上可知,一个基本原则就是,不要让两个人同时更改同一份功能代码。提交之前,务必首先更新。
注意提交时,若有冲突出现,则需要先修正冲突才可以提交。冲突文件在提交界面显示为红色。点右键,选择编辑冲突来修正。