码迷,mamicode.com
首页 > 其他好文 > 详细

git原生服务器相关配置

时间:2018-12-06 14:42:33      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:就是   http协议   blog   roc   sys   img   实现   art   mod   

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
起初这个目录是没有文件的;初始化之后
技术分享图片
技术分享图片

3.启动服务
# systemctl start git.socket
技术分享图片
//9418端口被监听

4.将远程服务器(172.16.1.14)中的仓库克隆到本地(172.16.1.13)
# git clone git://172.16.1.14/ xwlgit
技术分享图片
//目录有了

技术分享图片
//git仓库有了

5.进入本地git仓库中
技术分享图片

技术分享图片
//查看config文件

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

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

二、git -httpd- backend

在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
技术分享图片
//想要能够push文件,需要将目录所有者设置apache,让其对该目录有写权限

3.配置虚拟主机文件;
# vim /etc/httpd/conf.d/git.conf
技术分享图片

4.创建认证文件
# htpasswd -c -m /etc/httpd/conf/.htpasswd tom
//会让你输入密码
技术分享图片

5.在客户端设置hosts文件,让其能够正常的解析
# vim /etc/hosts
技术分享图片

6.然后尝试克隆远程仓库到本地(客户端)
技术分享图片

技术分享图片
//会生成一个去掉.git结尾的test命名的文件

# cd /test
技术分享图片

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

注意:在推送之前,在服务器端的仓库根目录中,我这里是/var/www/git/test.git,添加一个参数
# cd /var/www/git/test.git
技术分享图片

回到客户端:
# cd /root/test
# vim xwl
技术分享图片
技术分享图片

在客户端查看信息:
# cd /root/test
技术分享图片
//本地分支是master,映射的远程分支是origin,所以git push的时候顺序别搞错

尝试push:
技术分享图片
//箭头方向就是认证,输入刚才创建的用户以及密码即可

技术分享图片
//服务器端有了文件

技术分享图片
//这是push上来的提交文件

git原生服务器相关配置

标签:就是   http协议   blog   roc   sys   img   实现   art   mod   

原文地址:http://blog.51cto.com/xuwenlong/2326789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!