linux系统搭建svn服务器、git服务器

 以下做下备忘

1、svn安装

1.1检查是否已安装

#rpm -qa subversion

1.2 yum安装

#yum -y install subversion

1.3检查是否安装成功

#svnserve --version

1.4创建版本库

#mkdir /var/svn/svnrepos/lz-test

#svnadmin create /var/svn/svnrepos/lz-test

1.5配置用户及权限
进入已经创建好的版本库目录下,

#cd /var/svn/svnrepos/lz-test /conf

conf目录下,一共存放三份重要的配置文件,如下:


三个文件逐一修改:

#vim authz

在文件内容的末尾,添加如下:

[\]

账号= rw

linux系统搭建svn服务器、git服务器_第1张图片

#vim passwd

将账号和密码信息追加到文末,格式为:

账号 = 密码


#vim svnserve.conf

去掉4条指定内容前注释,如下:

linux系统搭建svn服务器、git服务器_第2张图片

1.6启动svn服务器

#svnserve -d -r /var/svn/svnrepos/lz-test

1.7查看svn进程

# ps -ef|grep svn

1.8查看监听端口

# netstat -ln|grep 3690

1.9客户端访问svn服务器

客户端,输入地址:svn://ip地址/lz-test   

弹出输入用户名和密码,输入即可访问

如果无法访问,需要下配置防火墙

2、git安装

yum安装方式,版本比较低,直接用源码安装

查看当前git版本:git–version
如果有安装,移除旧版本git:yum remove git

git clone时候提示fatal: Unable to find remote helper for 'https'

提前先安装libcurl-devel

yum install libcurl-devel

2.1下载

#cd /opt/mysoft

#wget wget https://Github.com/Git/Git/archive/v2.12.2.tar.gz

2.2解压

#tar -zxvf git-2.12.2.tar.gz

2.3配置
#cd git-2.12.2

#make configure

如果报错/bin/sh: autoconf: command not found:

安装libtool即可:yum install  autoconf automake libtool

执行

#./configure --prefix=/usr/local/git--with-iconv --with-curl --with-expat=/usr/local/lib(如果没有安装libiconv请自行安装)

2.4安装
#make && make install

2.5配置全局路径

#echo "exportPATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

#source /etc/bashrc

2.6查看git版本
#git --version

2.7配置仓库

    2.7.1服务器端创建xxx 用户,用来管理 Git 服务,并为xxx 用户设置密码

     # id xxx
     # useradd xxx
     # passwd xxx

    2.7.2服务器端创建 Git 仓库

    设置 /home/data/git 为 Git 仓库,然后把 Git 仓库的 owner 修改为 git

     # mkdir -p /home/data/git

     # git init --bare  /home/data/git

     # chown -R git:git /home/data/git 

2.8客户端 clone 远程仓库

创建文件夹d:\testGit,右击进入 Git Bash 命令行客户端

输入ssh://xxx@ip:port/home/data/git/ 提示emptyrepository

格式为:【用户名】+【@】+【git服务器地址】+【git仓库地址】

2.9push代码到远程仓库

把代码放到testGit

#git add .  

#git commit -m "init" 

更新git代码版本信息到  git repository:

#git push  origin master

2.10客户端再次clone远程仓库

输入密码,拉取成功

linux系统搭建svn服务器、git服务器_第3张图片

如果服务器端ssh异常,可以卸载重装,接下配置ssh免登陆会用的到

rpm -qa|grep ssh


可以把前两个卸载 ,使用rpm -e卸载

service sshd status

重新安装ssh

yum install -y openssh-server

使用过程中遇到个问题,使用git clone url 输入git 用户密码是可以拉取代码,但是拉到本地后,进入git 文件夹,删除代码,或加入代码,执行

上传代码

#git status

#git add .  

#git commit -m "init" 

执行 git push  origin master 报错fatal: sha1 file '' write error: Broken pipe

删除代码

#git pull /保持本地仓库跟远端仓库同步

#git rm -r --cached a

#git commit -m "init" 

#git push 报错unpack failed: unable to create temporary object directory

最后查完发现是权限问题,就是前面chown -R git:git /home/data/git 这句一定要执行,赋予权限







你可能感兴趣的:(服务器)