分享

如何在家里搭建一个SVN服务器,或者git服务器?

 昵称11935121 2018-04-18

以下做下备忘

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

#vim passwd

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

账号 = 密码

#vim svnserve.conf

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

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远程仓库

输入密码,拉取成功

如果服务器端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 这句一定要执行,赋予权限

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多