本文共 1339 字,大约阅读时间需要 4 分钟。
git版本远程服务器的引用,实现拉取推送的方式以及获取和merge彼此之间的关联性, 每一个远程仓库的配置也无非就是在remote添加url而已 最简单的就是有远程代码托管站点github
作为git服务器,web界面并非是特需的,gitlab可以作为公司内部的仓库服务器 可以理解为支持ssh,https协议,支持多用户注册使用,有web界面的类github的开源的gitweb托管服务器 git也提供了http的解决方案想要使用一个版本控制,最简单,规定好一个目录路径,所有使用代码的人都有权限访问,然后给每一个人创建账号,创建一组秘钥 推送来讲,ssh比http快的多,所以在推送方面建议使用ssh git协议远程访问只能支持拉取操作
推送需要使用ssh或http 现在使用http以后就可以使用git服务了 /git是url/var/www/git下可以创建仓库 启动http服务 现在去配置一个项目 定义一个虚拟主机,就是专门用来提供http协议为git服务的内容的man git-http-backend 查看帮助查看示例 根目录 设定所有项目输出出去 访问url 为特定的路径 这个是git自带的http,不是gitweb,,避免冲突修改url,建立一个虚拟机主机专门做git访问的 <VirtualHost :80> ServerName git.magedu.com SetEnv GIT_PROJECT_ROOT /var/www/git 确保目录存在 SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ 可执行程序 <Directory “/usr/libexec/git-core/”> Options ExecCGI Indexes Require all granted 读操作 <LocationMatch "^/git/./git-receive-pack$"> 写请求做认证 AuthType Basic AuthName “Private Git Repo” AuthUserFile /etc/httpd/conf/.htpasswd Require valid-user创建一个htpasswd账号
用户账号准备好,确保这个目录能够给运行httpd进程用户访问 现在想做一个仓库的推送 找一个主机当远程主机现在在node1上去初始化一个puppetmodules的目录
远程主机把这个克隆到本地 我们的空目录是不会作为对象放到上面去的 现在设置用户名和密码验证 接下来往上推上去,先要认证 node2客户端,node1服务端 还是403 提示服务没有允许 修改一下所属组主 初始化一下,成为一个空库,客户端推送就不会有什么问题 再去克隆仓库到本地上来 修改权限 再去推一次就成功了 现在等于用http做了一次本地仓库 404 同一个url放到不同路径上可能冲突 进行修改 能够访问 自带的图形界面比较丑陋,更强大的需要gitlab 关掉服务避免征用端口 初始化脚本 现在就好了 默认用户名密码 root,admin转载地址:http://bckgn.baihongyu.com/