您的位置:首页 > 其它

创建远程git仓库

2016-06-19 15:06 204 查看
git仓库服务器配置;
两种方式:
方式一:使用git协议,创建的git仓库服务器,只能下载,不能上传;
方式二:使用http或https协议,安装httpd1.6.6以上版本就支持上传和下载等丰富的功能了;

本次实验物理机win7,虚拟机是两台centos7:

本地git仓库,node1:172.18.11.111
远程git仓库,noed2:172.18.11.112

方式图一:使用git协议创建git远程仓库:

在node2:
安装git-daemon
]# yum -y install git-daemon

初始化一个裸仓库:名称为myproject.git
]# cd /var/lib/git/
]# git init --bare myproject.git

]# ls /var/lib/git/myproject.git/




在node1:
克隆远程仓库:
]# git clone git://172.18.11.112/myproject.git




查看git查看配置等信息:



以上就完成远程git仓库的创建和本地下载远程仓库了;使用的git协议,不支持推送上传,要想实现推送要使用http协议;
注意:

git协议创建的服务器有缺陷:
第一,不支持推送;
第二,不支持认证;
第三,端口很特殊,tcp/9418

方式二:使用http协议进行创建git远程仓库:

要基于http协议实现git远程仓库,只有安装一个http服务即可。
在node2:安装git-daemon]# yum -y install git-daemon]# yum -y install httpd

对于http协议的git仓库,要求http协议必须启动三个模块:
第一,支持路径别名;
第二,环境变量设定;
第三,cgi机制;
因为,基于http协议实际是使用poll脚本完成智能设定的;
查看三个模块:确保如下三个模块启用




创建裸仓库目录并授权:
]# mkdir /var/www/git
]# cd /var/www/git
]# git init --bare testproject.git
]# chown -R apache:apache /var/www/git
确保该目录属主属组为apache用户,否则会没有写操作权限;

]# vim /etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html"

为提供git仓库基于http协议实现,创建新的配置文件:
]# vim /etc/httpd/conf.d/git.conf



]# httpd -t
]# systemctl start httpd.service
]# ss -tnl 查看80端口监听;

回到node1节点,克隆这个基于http协议的远程git仓库:
]# git clone http://172.18.11.112/git/testproject.git
]# cd testproject/




此时下载仓库到本地了,如果在这个远程跟踪分支上进行更改内容:
]# echo "new line" > README
]# git add README
]# git commit -m "v0.1"

提交后再上传到远程服务器:
]# git push origin master
输入授权的用户名和密码即可完成上传了:




以上就是基于http协议创建git远程仓库的整个过程,当然配置好http协议的仓库,再配置https协议的git仓库,无非就是多了一个步骤配置CA证书等工作;

使用这种方式进行认证非常不安全,可以做htsps协议方式进行;
把账号密码放在文件里,也不很妥当,放在互联网上的公共仓库时,还可以基于mysql认证,把账号、密码放在mysql数据库表里;
以上这些自己管理起来都非常麻烦,就出现了互联网上专门做代码托管的服务站点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  创建 git 远程仓库