VSS TFS SVN GIT
- VSS 两大功能:
1、签出后加锁,别人不能签出,独占签出。
2、在服务端可以查看哪些用户签出了哪些文件。
3、查看所有签出未签入的文件列表,SVN未发现此功能。
缺点:
1、RAD IDE没有插件。
http://stackoverflow.com/questions/862272/use-team-foundation-server-in-delphi-7
2、服务器文件夹完全共享
- SVN 优点
1、浏览器可以查看文件和下载文件,测试人员机器上不用安装vss客户端啦。(不装客户端的缺点是看不到文件状态签入还是签出状态)
2、IDE有插件,新加的文件,方便Add到源码库。
D:\Program Files (x86)\Embarcadero\Studio\15.0\bin\subversion,IDE版本插件更新
3、每个文件有svn:needs-lock属性,就可以解决独占签出的问题。
A用户Get Lock,文件可写,修改源码。
B用户Get Lock,提示文件被XXX用户锁住了。所以不能修改且是只读的。
A用户commit后,文件变为只读,其他用户就可以Get Lock签出了。
3、用 TortoiseSVN Repository Browser可以查看到 Lock列是某个用户签出了,只能一个文件夹一个文件夹查看???
但是没有一键查看所有Lock的用户及文件清单。
4、SVN的URL路径是区分大小写的
5、怎么限制必须输入提交修改的说明,多少个字符以上,否则不能提交。
6、新建的文件怎么自动有lock属性加锁功能??
IDE里新加的单元文件,自动是Add状态,Commit后Update本地文件也成了只读了,效果完美!!
7、SVN服务器端管理界面没有登录密码,只要进了服务器,谁都可以添加权限???
8、权限可以细到仓库下的文件夹。
9、SVN忽略文件和文件夹,可以全局设置,简单好用。
可以是文件匹配表达式,也可以是文件夹
*.local *.dsk *.~dsk *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store *.~dsk Bin Obj Win32 __history *.ddp
SVN 签入文件后使文件只读,这样就不至于不小心修改了本地文件!!!!
在Seting界面里点设置,打开config文件
找到enable-auto-props = yes把注释取掉就OK啦
文件是后加一个
*.txt = svn:needs-lock=yes
所有文件
*.* = svn:needs-lock=yes
或者
* = svn:needs-lock=yes
AnkhSVN For vs2010插件
TortoiseSVN For Delphi2010
svn 地址
https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/
SVN 客户端下载 :TortoiseSVN http://tortoisesvn.net/downloads.html
svn获取最新代码覆盖本地文件?
SVN 服务器
VISUALSVN : https://www.visualsvn.com/server/download/
collab公司 : http://www.collab.net/downloads/subversion
http://docwiki.embarcadero.com/RADStudio/XE6/en/Subversion_Integration_in_the_IDE
ide code http://sourceforge.net/scm/?type=svn&group_id=341542
TortoiseSVN培训@20101207
http://wenku.baidu.com/link?url=C3j7-MAC-Bdcg0A_UfhEJWNmlR7XHx6X0t_RYK29fBnxAfPAzhyIq5o040wJIqfWtU7b_SsMadd_31cZVwLoGOYkIsBXV8fbxCa88X7pcwi
svn目录结构
project|
+--trunk+|
++-----main.js
+
+-----common.js
++-----dialog.js(因为新增功能而增加的文件4.0)+--branches
++dev_1.0_fixedBug
++dev_2.0_testing
+
+dev_3.0(从原来主干上3.0的版本基础上复制)
+--tags++-----tag_release1.0+
+-----tag_release1.1
- Git配置
没有独占加锁签出功能
权限到仓库,没有到文件夹的控制
scm-manager
https://www.scm-manager.org/news/
http://www.cnblogs.com/lwme/archive/2012/12/25/configuring-git-server-and-client-on-windows.html
gitlab,https://about.gitlab.com/downloads/
gitolite
gitosis 已停止开发
SoureTree 图形化管理工具 http://www.sourcetreeapp.com,推荐,但是网站是不是被屏蔽了打不开。
msysgit,http://msysgit.github.io/,推荐,简单易用,for windows略显单薄,不够用,配合强大的tortoisegit才好用。
git-scm,客户端,http://git-scm.com/download/,推荐,简单易用,和 msysgit是一家,一个模板。
tortoisegit,客户端,http://download.tortoisegit.org/,功能强大齐全。
https://windows.github.com/
git gui提交无法获知你的身份
设置用户名,
#输入下面两句,并且替换成你的名字和邮箱
git config --global user.email
"your@email.com"
git config --global user.name
"Your Name"
- TFS
TFS 功能强大,除了代码版本控制外还有bug、任务管理追踪。
和vs绑定紧密,有for java Eclipse的 Team Explorer Everywhere。,但没有RAD的IDE菜单啊。
RAD 10 Seattle 没有TFS.us 插件了, TFS.us 这个插件for rad xe并不好用。 TFSusXE6.dll
https://git-for-windows.github.io/
SVN更换地址,选择SVN目录(必须是顶层目录,不能是子目录),右键svn,relocate菜单输入新地址Ok。这个菜单在选择子目录是不可见的,所以必须选择顶层目录。