Git服务器搭建+上传代码

git服务器搭建+上传代码

git服务器搭建

下载git
apt-get install git         //ubuntu
创建git专用用户
sudo adduser git
创建登陆证书

将所有登陆用户的id_rsa.pub中的公钥放入/home/git/.ssh/authorized_keys文件内,一行一个。

创建一个仓库
git init --bare myrepo.git

      裸仓库中包含了.git仓库的大部分内容,但是这只个记录记录的目录,并不对文件进行保存。不过这里我用了普通的仓库。

git init 
修改文件权限

      将/etc/passwd中的

git:x:1001:1001:,,,:/home/git:/bin/bash

修改为

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

客户端上传代码

clone
git clone git@serverIP:/REPO_PATH/
git hooks

      其实写到这里会有一个问题,这里能clone下来,但是当git push时,会遇到服务器端只有log改变,但是没有合并到主分支中。必须要用git reset –herd回退才行。所以我查阅了资料之后用git自己的hooks进行触发接收事件:post-reveive。

#!/bin/sh
unset $(git rev-parse --local-env-vars)
cd /DESTINATION_PATH/
/usr/bin/git reset --hard

      这里其实还会碰到一个问题,如果在shell脚本中直接写:

cd /DESTINATION_PATH/
/usr/bin/git reset --hard

      是会无法达到效果的,因为其实git操作会有GIT_DIR环境路径的,所以需要unset去除环境变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值