SVN设置(svn设置提交忽略某些文件或文件夹)
1. SVN设置
如果要在File Station看到此共享资料夹,只要点选「svn」这个共享资料夹,再点选上方「权限」→「权限设定」,把自己加入权限中即可在File Station上看到此共享资料夹。
2. svn设置提交忽略某些文件或文件夹
1、commit的时候,默认是只提交纳入SVN控制之下的文件,对于一个新建的文件,如果没有执行add操作,则默认不会提交这个文件到服务器;
2、如果是TortoiseSVN客户端的话,在commit的时候,会找出所有新建的文件,但不会自动勾选那些没有add的文件;
3、如果TortoiseSVN在commit的时候,不列出某些新建的文件,那么检查一下你本地的全局忽略样式(右键菜单TortoiseSVN——设置),是否这些漏掉的文件是因为符合某种忽略样式,而被自动过滤了
3. svn设置中文
下载并安装SVN中文语言包
下载地址:https://tortoisesvn.net/downloads.html 找到Language Pack->Chinese,Simplified下载与系统对应位数的包即可!(若无法下载,可点击这里进行下载)
安装就两步,Next->Finish就行了!
设置
由TortoiseSVN->Settings进入设置界面:
找到Language选择中文(简体)并选择,然后依次点击应用->确定即可!
设置成功之后再次使用SVN,就可以看到由英文版变成中文版了。。
4. svn设置忽略文件类型
eclipse中SVN可以通过忽略一些特定文件把某文件排除出提交列表:
1、在 svn 管理项目目录下右键,也就是想设置过滤文件列表的目录,点击 Tortoise SVN->属性->新建,下拉列表选择 svn:ignore,然后在文本框里面编辑过滤文件列表。如果希望递归该属性,请选择左下角的复选框"递归应用该属性"即可。
2、选择文件或者目录后添加到svn:ignore列表即可。
5. svn设置不提交的文件
一般我们都是按以下步骤操作的:
1.先将那个目录checkout下来2.将要添加的文件或者文件夹放到这个目录中3.右击文件执行svn菜单中的add命令4.右击文件执行svn菜单中的commit命令如果只是单纯的提交一个文件到svn中某个目录用上面方法的话会不会很繁琐,如果能像共享文件夹那样直接复制粘贴多好,其实方法是有的。如果要将某个文件夹aa连同里面的文件一起放到svn的某个目录请按下面步骤操作:
1.右击文件夹执行svn菜单的import命令2.在弹出的对话框中选择要放到svn的哪个目录中3.确定即可如果你要提交的仅仅是个文件(假设为c:\test.txt)你会发现在右击的svn菜单中找不到import,这可能是svn的某个小bug,不过别担心,方法是有的:
1.打开cmd窗口2.输入TortoiseProc.exe /command:import /path:c:\test.txt然后回车3.这时会弹出和上面一样的对话框4.选择要存放的目录,注意这时点确定的话会提示错误,还需要在目录后加个文件名字,而这个文件名字必须是svn中不存在的,例如/test.txt,写成/xxx.txt也行5.确定即可用这个方法来操作文件夹也是可行的。
6. svn设置忽略文件
linux 下svn 忽略某类文件和目录,解释说明如下:
1. svn 客户端的配置文件修改
改动是全局的. 适用于忽略某一类文件
编辑svn 的配置文件
$ vim ~/.subversion/config
找到包含 global-ignores 的那一行,取消注释,
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__
*.rej *~ #*# .#* .*.swp .DS_Store
添加需要过滤文件的通配符即可,可以过滤文件,也可以过滤目录。例如:
moc_* build-*
2.修改版本库的相关属性, 精确控制忽略的文件
$svn propedit svn:ignore dir
propset 功能可以合并到propedit 中,后者功能更强
svn:ignore 是一个编辑参数
dir 是想过滤的文件所在的目录, 我通常都是用'.', 来直接编辑当前目录
这个属性是针对版本库进行的修改,因此需要提交这个修改
为了让编辑忽略的文件列表更加有效,我通常先设置svn默认的编辑器为vim
export SVN_EDITOR=vim
比它默认风格的编辑器更加顺手。
7. svn设置用户权限
1、首先你要弄明白subversion、visualsvn、apache之间的关系。
2、版本控制的核心软件(也就是SVN)实质上指的是subversion。svnserve.conf是这个工具自带的版本库权限管理文本,只控制某个版本库。如果你访问版本库的客户端地址的前缀是svn://或者svn+ssl方式来访问版本库,那么这个文件就会起作用。
3、一般来讲,我们很少会用上述方式来访问,因为每个库都要手动编辑这个权限文件,那么我们会采用另一种方式搭建服务器,也就是apache+subversion(也可以集成其他比如ssl、域认证等模块)的方式,这个方式下,我们的权限控制是通过apache来读取认证文本的,这样无论我们有多少个版本库,认证文件都只有一个。然后通过手动编辑或者命令行编辑或者svn管家等方式来总体控制所有版本库权限。而且可以通过http或者https来访问。通过IE访问。
4、VisualSVN Server说白了这就是个一键安装包(他集成了相关联的所有软件比如subversion、apache、ssl、域认证等等),另外自己加入了读取目录进行权限分配的功能,比自带的要手工编辑权限文件更可靠和好用。也是利用的apache只需要读取groups.conf和htpasswd,而不需要读取每个库的svnserve.conf,这样svnserve.conf自然也就不会变了。
5、你可以在你安装visualsvn的目录下找到一个说明文件,他会表面这个版本的visualsvn里面各个软件(subversion、apache、ssl等)的版本。明白了他们的关系,然后试着去搭建一个apache+subversion,就知道他们是怎么回事了
8. svn设置用户名和密码
你好:如果你本地已经安装过svn插件,并且之前登录过,现在是忘记密码或者是改变用户的话:svn将用户名和密码保存在 C:\Users\xxx\AppData\Roaming\Subversion\auth\svn.simple 目录下, 每一个仓库的认证信息对应一个文件,(其中xxx表示你的用户...
9. svn设置自己的用户名和密码
你好:如果你本地已经安装过svn插件,并且之前登录过,现在是忘记密码或者是改变用户的话:svn将用户名和密码保存在 C:\Users\xxx\AppData\Roaming\Subversion\auth\svn.simple 目录下, 每一个仓库的认证信息对应一个文件,(其中xxx表示你的用户...
10. svn设置权限
SVN,即subversion,是一个开源的版本控制系统,版本控制器。是CVS的派生版。
它是一个C/S模式的软件,既有SVN服务器,也有SVN客户端。利用它可以将数据更新到最新版本,也可以找回历史版本,可以检查文件的修改历史。
1. SVN的基本功能
根据文件修改的次数,自动增加版本库的版本号(库中所有的文件共用一个版本号),以便找回历史文件。
防止团队开发时,多人同时修改同一文件导致文件被覆盖或删除。
2. 软件的安装
服务器的安装(建议先安装服务器)
Setup-Subversion-1.6.17.msi
客户端的安装
TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi
装完客户端后,需要重启电脑。
安装完毕以后,在桌面右击鼠标,如果出现两个SVN相关的选项,说明SVN安装成功
3. 服务器的搭建
a. 创建一个空文件夹,作为SVN服务器的目录 例如 E:\server 文件夹的名字可以随便取
b. 进入该文件夹,右键,选择 TortoiseSVN 菜单,单击里面的 Create repository here(创建版本库)。系统就会自动在该目录中生成一些文件和文件夹
c. 修改conf文件夹中的passwd配置文件,添加代码 yangjun = 123456 即添加用户和设置密码
d. 修改conf文件夹中的svnserve.conf主配置文件,去掉 # password-db = passwd 所在行的注释。 (目的是让passwd配置文件生效)
这样,SVN服务器就搭建好了。
4. 服务器的启动
打开Windows的命令行,执行命令 svnserve.exe -d -r E:\server
之后,SVN服务器的目录(版本库)E:\server 就可以被SVN客户端访问了。需要注意的是,命令行界面(DOS界面)不能关闭,否则服务就停止了。
5. 客户端的使用
a. 新建一个空文件夹作为SVN客户端的目录。 例如 F:\user1
b. 进入该文件夹,右键,选择 TortoiseSVN 菜单,单击里面的 Repo-browser(浏览版本库),会弹出URL的输入框,输入 svn://127.0.0.1 或 svn://localhost (前面的表示访问服务器的协议,后面的表示服务器所在主机的ip)。
c. 右键,选择 SVN Checkout(检出),连接服务器(第一次连接服务器的时候,需要检出,以后就不需要了)。
以后,就把SVN客户端的目录 F:\user1 作为自己项目文件的目录,通过SVN服务器进行文件的上传、修改、下载和删除等操作。
6. SVN客户端的目录中的文件的图标及含义
问号 表示该文件是刚引入的新文件,还未被SVN版本库识别
加号 表示该文件已经添加至服务器的观察名单,但还未上传至服务器
对号 表示该文件的版本和服务器中的版本是一样的
感叹号 表示该文件的内容和服务器中的文件内容不一样,也就是从版本库同步之后,该文件又作了修改,但还未上传至服务器
锁 表示该文件已被锁定
客户端目录中新添加的文件,由于还未被服务器识别,所以是以问号标识的。
选择问号标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Add 选项,添加至服务器的观察名单。这时,问号就变成了加号。
选择加号标识的文件,右键,选择 SVN Commit(提交),执行上传。会弹出一个对话框,输入用户名和密码即可。这时,加号就变成了对号。
把对号标识的文件内容进行更改后,对号就变成了感叹号。
选择感叹号标识的文件,右键,选择 SVN Commit(提交),执行上传。之后,感叹号就变成了对号。
选择对号标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Get lock (锁定)。之后,对号就变成了锁。
选择锁标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Release lock (解锁)。之后,锁就变成了对号。
7. 远程用户下载SVN服务器中的文件的步骤
这里在F盘新建一个空目录 F:\user2 进行模拟。
进入该文件夹,右键,选择 SVN Checkout(检出),连接服务器,输入正确的URL。就会自动把版本库中的所有文件下载到当前目录。
以后,如果版本库中的文件有改动,右键,选择 SVN Update(更新),就可以和版本库中的文件同步。即当前客户端目录中的文件和版本库中的一致。
可以理解为用户第一次下载用 SVN Checkout(检出),以后下载就用 SVN Update(更新)。
8. 文件的删除
进入客户端目录 F:\user1 ,直接删除你想要删除的文件(这时,只是客户端的文件被删除)。
要想把服务器中的对应文件也删除,可以右键,选择 SVN Commit(提交),弹出一个对话框,勾选刚才删除的文件,点击确定。之后服务器中的对应文件也被删除了。
服务器上的某个文件被删除后,当其他客户端的用户,执行 SVN Update(更新)时,就会和服务器中的文件同步。(对应的文件也会被删除)
9. 历史版本的找回
如果误删除了服务器上的某个文件,想要找回该文件,可以恢复到历史版本。
在客户端目录 F:\user1 中,右键,选择 TortoiseSVN 菜单,再单击 Update to revision,弹出一个对话框,选择 revision,输入你想恢复到的版本号(一般是上一个版本号),确定。
10. 历史版本间的差异对比
如果某一个文件被多个人依次更新修改过,之后,大家也都同步了服务器的版本库。发现,某一个文件被别人更新过,可以通过以下方法查看差异。
选择被更新的文件,右键,选择 TortoiseSVN 菜单,再单击 Diff with previous version,会对比显示出该文件的历史版本和当前版本的差异。
左边的是历史版本,右边的是当前版本。
11. 冲突的解决
冲突指定的是,当多个人同时对同一个文件进行修改后,某一个用户(user1)先进行了提交(更新了服务器的版本库),其他用户(user2)后进行的提交,此时,就会出现文件过时而无法提交的现象(因为user2修改的文件版本不是最新版本,所以会提示文件过时,导致无法提交)。
冲突的产生是SVN版本控制器的一个保护措施,可以有效防止客户端中低版本的文件覆盖服务器中高版本的文件。
如何解决冲突?
选择出现冲突的文件,右键,选择 TortoiseSVN 菜单,再单击 Edit conflicts,会对比显示出该文件的服务器版本和自身版本的差异。
左边的是服务器的版本,右边的是自身版本。
冲突的解决,是靠人为手动来解决的,一般是冲突相关的多个用户之间商量后,决定以某个文件版本为主。比如,经过大家商量后,决定以服务器中的版本为主。接下来,就应该这样操作: 在左边区域(服务器的版本),右键,选择 use this whole file或者在产生冲突的行,右键,选择 use this text block 来各取所长,依次处理完所有有冲突的行,之后,点击保存,关闭窗口。
然后,选择出现冲突的文件,右键,选择 TortoiseSVN 菜单,再单击 Resolved(已解决)。告诉SVN冲突经大家商量后,已经解决。
这时,该文件就可以正常提交了。选择它,右键,选择 SVN Commit(提交),上传至服务器。最后可以看到文件的标识变为对号。
12. 将SVN服务器安装至系统服务
前面我们说过,SVN客户端操作的过程中,开启SVN服务的命令行窗口不可以关闭,否则,SVN服务也会终止,导致客户端无法连接服务器。
这里,我们可以把SVN服务添加到系统的自启动服务当中。操作方法如下:
重新打开 cmd 命令行,在命令行中执行以下命令
sc create svnserve binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service --root E:\server"
如果提示 “[SC] CreateService 成功”,则表明创建系统服务成功。此时,添加的服务名为svnserve,状态默认是关闭的,启动方式为手动。
之后,我们就可以利用Windows系统自带的服务管理界面进行管理,比如开启SVN服务,设置为自启动等。而不用通过命令行来控制了。
删除系统服务 sc delete svnserve ( 如果删除了系统的svnserve服务,我们就又只能通过命令行来开启SVN服务,且不能关闭命令行窗口)
13. 取消记住的用户名和密码
如果在进行身份验证的时候,我们勾选了记住用户名和密码。那么,当我们需要使用别的用户名进行操作时,便会出现无法更改账号的情况,这时,我们可以取消记住的用户名和密码。下次进行身份验证的时候,我们就可以选择输入其他的用户名和密码。
取消记住用户名和密码的方法:
删除身份验证时保存在系统中的相关文件(auth文件夹)即可。进入 C:\Users\Administrator\AppData\Roaming\Subversion这个目录,删除里面的auth文件夹。
14. 权限管理
SVN的默认权限设定是匿名用户也可以连接到服务器,访问服务器中的文件,还可以进行下载。也就是说,任何一个人只要知道了SVN服务器所在主机的ip,就可以下载版本库中的所有文件。这种默认的权限设定是不安全的。因此,我们有必要进行SVN服务器的权限管理。
打开SVN服务器的主配置文件 E:\server\conf\svnserve.conf,将这行代码
# anon-access = read
修改成
anon-access = none
保存即可。
之后,匿名用户对服务器就没有读的权限。也就是说,用户在浏览版本库和下载文件时,需要输入用户名和密码。
15. 权限分配
权限分配指的是,给不同的用户分配不同的权限,比如,需要设定某些用户(管理员)对所有的文件都有读和写的权限,其他用户(普通用户)只有读的权限或者只对服务器目录中的某个文件夹有读和写的权限时,就可以用到权限分配。
这时,我们需要修改服务器配置文件目录( E:\server\conf )中的三个配置文件:svnserve.conf 、passwd 和 authz。
详细操作方法可自行查阅相关文档·