设为首页 收藏本站
查看: 1327|回复: 0

[经验分享] 创建远程git仓库

[复制链接]

尚未签到

发表于 2018-9-17 10:45:21 | 显示全部楼层 |阅读模式
  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/
DSC0000.png

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

  查看git查看配置等信息:
DSC0002.png

  以上就完成远程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脚本完成智能设定的;
  查看三个模块:确保如下三个模块启用
DSC0003.png

  创建裸仓库目录并授权:
  ]# 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
DSC0004.png

  ]# httpd -t
  ]# systemctl start httpd.service
  ]# ss -tnl 查看80端口监听;
  回到node1节点,克隆这个基于http协议的远程git仓库:
  ]# git clone http://172.18.11.112/git/testproject.git
  ]# cd testproject/
DSC0005.png

  此时下载仓库到本地了,如果在这个远程跟踪分支上进行更改内容:
  ]# echo "new line" >  README
  ]# git add README
  ]# git commit -m "v0.1"
  提交后再上传到远程服务器:
  ]# git push origin master
  输入授权的用户名和密码即可完成上传了:
DSC0006.png

  以上就是基于http协议创建git远程仓库的整个过程,当然配置好http协议的仓库,再配置https协议的git仓库,无非就是多了一个步骤配置CA证书等工作;
  使用这种方式进行认证非常不安全,可以做htsps协议方式进行;
  把账号密码放在文件里,也不很妥当,放在互联网上的公共仓库时,还可以基于mysql认证,把账号、密码放在mysql数据库表里;
  以上这些自己管理起来都非常麻烦,就出现了互联网上专门做代码托管的服务站点。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-588272-1-1.html 上篇帖子: 什么是Git?内部剖析 下篇帖子: Git常用命令介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表