22、11 搭建git服务器

github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器
 另找一台服务器,首先要安装git,yum install git 
 添加git用户,并且设置shell为/usr/bin/git-shell,目的是为了不让git用户远程登陆
 useradd -s /usr/bin/git-shell git 
 cd /home/git
 创建authorized_keys文件,并更改属主、属组和权限,用来存客户端机器上的公钥
 mkdir .ssh
 touch .ssh/authorized_keys
 chown -R git:git .ssh
 chmod 600 .ssh/authorized_keys

把登录机的公钥复制到服务器的.ssh/authorized_keys文件中
cat .ssh/id_rsa.pub   //查看登录机上的ssh
vi .ssh/authorized_keys  //复制公钥
ssh git@192.168.179.129   //在登录机上尝试连接服务器

d11965566445a409e2b6939175883b77d39.jpg
在服务器上设置好存储git仓库的目录,比如 /data/gitroot
 mkdir /data/gitroot
 cd /data/gitroot
 git init --bare sample.git // 会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾
 chown -R git.git sample.git
 以上操作是在git服务器上做的,平时git服务器是不需要开发人员登录修改代码的,它仅仅是充当着一个服务器的角色,就像github一样,平时操作都是在我们自己的pc上做的
 首先要把客户端上的公钥放到git服务器上/home/git/.ssh/authorized_keys文件里
 在客户端上(自己pc)克隆远程仓库
 git clone git@192.168.179.129:/data/gitroot/sample.git
 此时就可以在当前目录下生成一个sample的目录,这个就是我们克隆的远程仓库了。进入到这里面,可以开发一些代码,然后push到远程

4ae5590bcced7f0c1d27dde75865788a2ee.jpg

cp /etc/init.d/mysqld .
git add .
git commit -m "add file"
git push origin master  //由于是空仓库,推送的时候需要指定仓库位置

158a81c836171c4a03b6a0958f5bfde6d54.jpg

添加文件到服务器
echo "112233" > 222.txt
git add 222.txt
git commit -m "add 222.txt"
git push
将仓库克隆到本地
cd /tmp/
git clone git@192.168.179.129:/data/gitroot/sample.git

67d8905bf67c52b9795ea1aad4a1f0ee20c.jpg

如果仓库数据有变更,可在克隆目录下使用git pull更新
 

转载于:https://my.oschina.net/u/3867322/blog/2963855

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值