Subversion、TortoiseSVN、Ankhsvn+VS使用

一、概述

服务端:

  1. Subversion:版本控制软件的服务器端。
    https://subversion.apache.org/
  2. VisualSVN Server :可以在Windows平台安装和管理全功能的Subversion server。

客户端:

  1. TortoiseSVN:Subversion版本控制系统的一个免费开源客户端。
    https://tortoisesvn.net/downloads.html
  2. AnkhSVN:一款在VS中管理Subversion的插件。(安装AnkhSVN,不需要安装TortoiseSVN。)
  3. VisualSVN for Visual Studio 2019:另一款在VS中管理Subversion的插件。(不需要安装TortoiseSVN。)

二、VisualSVN Server 

三、TortoiseSVN

TortoiseSVN 使用教程:https://www.runoob.com/svn/tortoisesvn-intro.html

1、将源代码迁入到svn服务器中

找到你新建的项目文件夹(项目已经包含在里面),右击—TortoiseSVN—Import,在弹出的对话框中输入仓库所在的url,点击ok完成迁入源代码到svn服务器中。

image

image

2、SVN忽略提交

第一种情况: svn global-ignores全局忽略

1、定义:忽略未版本控制的条目,全局参数;

2、在Windows注册表中,位于HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores下;

3、设置全局忽略的方法:

格式: *.iml *logs *target

patten之间以空格分格,一般在前面加通配符*

4、VS使用的忽略列表:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db bin obj *.suo *.user .vs *.pdb packages .vs

1、通过TortoiseSVN设置global-ignores:

右键-->TortoiseSVN-->Settings-->General-->Global ignore patten处添加自己想要忽略的文件或目录。

image

image

2、也可以直接编辑Subversion配置文件,根据自己需求,修改为global-ignores。前面的#注释都要删除哦

image

 

第二种情况: svn:ignore局部忽略(只在当前目录有效):

1、定义:是 Subversion的属性,作用是忽略未版本控制的条目,要注意是“未加入版本控制的版本条目”,我们主要就是用它来忽略一些我们不想上传到版本服务器的文件或者目录;

2、命令行格式:svn propedit svn:ignore project1 --editor-cmd notepad

则会打开记事本,在记事本中输入过滤规则,关闭记事本,就完成编辑了。

--editor-cmd 参数指定了用来编辑属性的命令

3、注意:svn:ignore仅作用于当前目录;

4、svn:ignore、global-ignores区别:

  • svn:ignore:只对当前目录有效;必须每个工作目录都要设置,个性化配置;
  • global-ignores:是全局有效,就是所有目前都有效;只需要配置一次,使用方便;

5、设置方法:

image

也可以这么操作:

image

image

完成后文件夹的图标如下:

右键Commit这个文件夹,可以看到svn将会在 服务器上删除这个文件夹。

提交后的图标如下:

完成后的上层文件夹如下:

重新编译一下VS里面的工程,虽然bin, obj, package等文件夹下面的文件都重新生成了,但是上层文件夹的图标还是显示为没有更改。

四、Ankhsvn:将源代码迁入Visual Studio中

下载地址:

AnkhSVN(VS2005-2015): https://marketplace.visualstudio.com/items?itemName=vs-publisher-303797.AnkhSVN-SubversionSupportSCCProvider

AnkhSVN2019(VS2019):https://marketplace.visualstudio.com/items?itemName=PhilJollans.AnkhSVN2019

文档:http://help.collab.net/index.jsp?topic=/com.collabnet.doc.anksvn_001/action/ankh_getting_started.html

AnkhSVN For VS2022

AnkhSVN 2.9.87 - Visual Studio 2022 support

https://github.com/AmpScm/AnkhSVN/releases/tag/v2.9.87

https://files.cnblogs.com/files/weiqt/Ankh-VSIX-2022.zip

1、安装

安装AnkhSVN,不需要安装TortoiseSVN。

该插件可以直接在vs2012扩展和工具里安装,安装完成即可使用

image

VS2019

image

 

打开Visual Studio,工具—选项—源代码管理—插件选择,选择Ankhsvn。

image

2、基本使用

点击File—Subversion—open from Subversion

image

在弹出的窗口中输入仓库的url后会弹出输入用户名和密码对话框,输入用户名和密码选择要迁入的代码文件将代码迁入到Visual studio中。

image

在解决方案资源管理其中可以看到迁入的项目文件,如果项目文件前有问号跟感叹号则代表此文件当前用户无访问权限。

添加完成后可以看到vs底部多了一个Pending Changes,在这里管理代码。

这里写图片描述

如果没有找到Pending Changes,可在 视图—其他窗口—Pending Changes打开:

这里写图片描述

也可以右键点击文件进行管理代码:

这里写图片描述

3、从服务器中更新项目为最新版本

右击解决方案资源管理器中的项目,选择update protect to latest version.

image

4、项目修改后提交到服务器中

右击——View History,在弹出的对话框中可以查看版本更新时间、作者、版本信息等

项目修改后,项目文件前面的对勾显示为橘红色,在解决方案资源管理器中选择某一个项目文件或整个项目文件,右击—Commit完成提交。如果此文件对于当前用户是只读的,提交时系统会提示禁止修改等信息。

1、解决方案:

image

2、项目:

image

3、目录和文件

image

Pending Changes窗口:

image

5、提交时忽略

一些项目配置文件.每人都要自己的习惯,比如日志输出级别的配置,.properties,pom.xml等等一些文件.这样的文件又想放上远程库,但大多时候想忽略提交.
一般是通过changelist来实现的,把不想提交的文件放到ignore--on-commit这个changelist.其它的更改的文件放到default的另一个changelist.提交时,按changelist来提交就可以了.

修改文件的changelist
如果用TortoiseSVN客户端工具:右键某文件-->SVN Commit-->在提交文件列表,右键这个文件-->Move to changelist-->ignore-on-commit-->done.

以后提交时,不要勾上这些文件就可以了.

image

posted on 2019-01-04 14:41  springsnow  阅读(1813)  评论(0编辑  收藏  举报

导航