git原生服务器相关配置

git服务器配置;
git-daemon
git-http-backend

一、git-daemon
1.通过安装yum安装git-daemon
# yum -y install git-daemon

2.将/var/lib/git这个目录,变成git仓库,即初始化一个裸仓库;
# cd /var/lib/git
# git init --bare
起初这个目录是没有文件的;初始化之后
git原生服务器相关配置
git原生服务器相关配置

3.启动服务
# systemctl start git.socket
git原生服务器相关配置
//9418端口被监听

4.将远程服务器(172.16.1.14)中的仓库克隆到本地(172.16.1.13)
# git clone git://172.16.1.14/ xwlgit
git原生服务器相关配置
//目录有了

git原生服务器相关配置
//git仓库有了

5.进入本地git仓库中
git原生服务器相关配置

git原生服务器相关配置
//查看config文件

remote就是一个远程跟踪分支;
fetch:将远程服务器中的这个内容+refs/heads/复制成本地的这个内容refs/remotes/origin/,也即定义一个版本库与其他版本库的名称空间的映射关系;
refs/remotes下面所加的所有引用都叫做远程追踪分支,也就是通过refs/remotes/origin/*追踪的是位于远程某个仓库上的分支;而在复制的时候,也只能复制一个分支,通常都是复制master分支;

注意:基于git的共享仓库,默认只支持读操作,如果想要从本地git push文件到服务器,你还需要配置相关选项,并且配置比较麻烦;或者你通过ssh或者scp的方式将文件发送到服务器;如果想要实现一个能够动态更新的共享仓库,通过http协议是不错的;

二、git -httpd- backend

扫描二维码关注公众号,回复: 4389667 查看本文章

在git服务器上配置
1.首先yum安装httpd
# yum -y install httpd
他还需要支持三个模块: //我是在CentOS7上做,这三个模块默认支持,如果不支持,你需要自行全装;
alias_module (shared)
env_module (shared)
cgi_module (shared)

2.初始化一个仓库
# mkdir /var/www/git
# cd /var/www/git
git原生服务器相关配置
//想要能够push文件,需要将目录所有者设置apache,让其对该目录有写权限

3.配置虚拟主机文件;
# vim /etc/httpd/conf.d/git.conf
git原生服务器相关配置

4.创建认证文件
# htpasswd -c -m /etc/httpd/conf/.htpasswd tom
//会让你输入密码
git原生服务器相关配置

5.在客户端设置hosts文件,让其能够正常的解析
# vim /etc/hosts
git原生服务器相关配置

6.然后尝试克隆远程仓库到本地(客户端)
git原生服务器相关配置

git原生服务器相关配置
//会生成一个去掉.git结尾的test命名的文件

# cd /test
git原生服务器相关配置

7.在客户端创建一个文件,随便写点东西,提交文件,并尝试push文件到服务器端;

注意:在推送之前,在服务器端的仓库根目录中,我这里是/var/www/git/test.git,添加一个参数
# cd /var/www/git/test.git
git原生服务器相关配置

回到客户端:
# cd /root/test
# vim xwl
git原生服务器相关配置
git原生服务器相关配置

在客户端查看信息:
# cd /root/test
git原生服务器相关配置
//本地分支是master,映射的远程分支是origin,所以git push的时候顺序别搞错

尝试push:
git原生服务器相关配置
//箭头方向就是认证,输入刚才创建的用户以及密码即可

git原生服务器相关配置
//服务器端有了文件

git原生服务器相关配置
//这是push上来的提交文件

猜你喜欢

转载自blog.51cto.com/xuwenlong/2326789