1 安装
a: 直接安装
先搜索下git的包有哪些
aptitude show git
aptitude install git-doc git-svn git-email git-gui gitk gitweb git-core git-all
老的版本,debian lenny
aptitude install git-core
aptitude install git-doc git-svn git-email git-gui gitk
b:源码安装
访问http://git-scm.com 下载git源码包
tar -jxvf git-1.xxxx.tar.bz2
cd git-1.xxxx/
安装的在install文件里,直接参考下就可以完成安装
make prefix=/usr/local all
make prefix=/usr/local install
文档这些安装方法
make prefix=/usr/local doc info
make prefix=/usr/local install-doc install-html install-info
2 使用
git --version 查看git版本
git config --global 本用户的配置全局
git config --system 配置系统的参数
git config --global user.name "rainysia"
git config --global user.email [email protected]
git config --system alias.st status 把git status简化成git st
git config --system alias.ci commit 把git commit 简化成git ci
git config --system alias.co checkout 把git checkout 简化成git co
git config --system alias.br branch 把git branch 简化成alias br
如果要配置本用户的,就把--system改成--global
git config --global color.ui true 开启颜色显示
3 建立工作区
mkdir /home/gitwork
cd /home/gitwork
git init
查看git status 需要在gitwork目录下使用,通过strace -e ‘trace=file' git status 来跟踪执行git status的磁盘访问
**********************************************************************************************************
安装svn
#aptitude install libapache2-svn subversion subversion-tools
创建库
#svnadmin create /home/svn
导入源码
#svn import /home/project1 file:///home/svn/project1
显示内容
#svn list file:///home/svn/project1
(如果没有安装openssl 就不能支持https,需要提前安装 aptitude install opensll)
也可以这样
#mkdir /home/svn
#chown www-data:www-data -R /home/svn
#chmod 770 -R /home/svn
svn的用户密码配置 /etc/apache2/dev_svn.passwd
#/usr/lib/htpasswd -c /etc/apache2/dav_svn.passwd admin
New password:
Re-password:
Adding password for user admin
存的密码建议用SHA htpasswd -s
创建权限配置 /etc/apache2/dav_svn.authz
[groups]
admin=admin,rainysia
guest=test1,test2
[rainysia:/]
*= #默认禁止所有用户访问
@admin=rw #admin组有rw权限
test1=r #用户test1有r权限
配置模块 /etc/apache2/mods-available/dav_svn.conf
创建 svn location,指定 svn 目录,认证方式,认证信息;
指定 dav_svn.passwd 用户密码配置文件路径
指定 dav_svn.authz 目录权限配置文件路径。
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
创建版本库
#su - www-data
#svnadmin create /home/svn/rainysia
#/etc/init.d/apache2 restart
#svnserve -d
浏览器直接访问http://localhost/svn/rainysia
新建用户
#/usr/lib/htpasswd -s /etc/apache2/dav_svn.passwd 用户名
password
re-password
删除的话直接删除就是了 /etc/apache2/dav_svn.passwd
注意如果apache中已经开启了 mod_dav_svn.so mod_authz_svn.so就需要把注销掉
本地 和 远程 dataDir 直接是路径 或者http地址 https svn:// 都可以
#cd /home/svn
#svn checkout http://项目svn地址
#svn add dataDir
#svn commit -m "change code info" #提交到版本库
#svn list dataDir #显示
#svn update -r 200 dataDir #把dataDir目录还原到版本200
#svn delete dataDir -m "del info" #删除
#svn log dataDir #查看变更记录
#svn info dataDir #查看文件详细信息
如果svn checkout https:// 出错
svn: OPTIONS of 'https://HOSTNAME/svn/repo': SSL handshake failed: SSL error: Key usage violation in certificate has been detected.
那么需要运行
#mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
#ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27
如果没有libneon 那么就先安装再mv
#aptitude install libneon27-dev
然后再次checkout 提示输出root密码随便乱输个 然后再提示用户名和密码 输入就可以co出来了
要是ubuntu的.出现这个问题.
OPTIONS of <url>': SSL handshake failed: SSL disabled due to library version mismatch
解决方法如下:
卸载 libneon 包
#apt-get remove libneon27
安装需要的 libssl 依赖。
#apt-get install libssl0.9.8
http://packages.debian.org/squeeze/libneon27 的页面底部有最新的 libneon 包,下载系统对应的安装包,然后用命令安装.
#wget http://ftp.cn.debian.org/debian/pool/main/n/neon27/libneon27_0.29.3-3_amd64.deb
#dpkg -i libneon27_0.29.3-3_amd64.deb
#mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
#ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27