一、简介
git
git 是一种开源的版本控制系统,可以高效的管理项目版本。同时也是一个版本控制软件。
GitHub
GitHub 是一个面向开源及私有软件项目的托管平台。GitHub可以托管各种Git库,并提供web界面。
GitLab
GitLab 是一个用于仓库管理系统的开源项目,使用git进行代码管理工具,可以自己搭建GitLab仓库服务器。
GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。
版本:GitLab 分为社区版(CE) 和企业版(EE)。
配置:建议CPU2核,内存2G以上。
优点:
1.git是分布式的,svn不是
git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。
2.GIT分支和SVN的分支不同
分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。
3.git有一个强大的代码仓库管理系统 - gitlab
可以很方便的管理权限、代码review,创建、管理project
仓库数据位置:ls /var/opt/gitlab/git-data/repositories/
二、参数及操作
1.下载官方yum源,yum install gitlab 清华大学镜像源:
https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
安装依赖项
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
启动postfix,并设置为开机启动
systemctl start postfix
systemctl enable postfix
设置防火墙 (可忽略)
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Gitlab-ctl reconfigure 重载
Gitlab-ctl restart 重启
查看版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 11.3.6
2.更改默认端口
使用gitlab内置的nginx,修改nginx默认端口,从80变为82。
由于这时候进行了上述的配置,因此,修改下列文件会改变默认值。同时,如果重新运行gitlab-ctl reconfigure,修改并不会被覆盖。
更改默认监听8080为8082
gitlab_workhorse['auth_backend'] = "http://localhost:8082"
unicorn['port'] = 8082#原值unicorn['port'] = 8080
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf 这里要和上述一直哦
listen :82; #默认值listen :80;
4.使用gitlab内置nginx,把修改unicorn的默认端口从8080改为8082。即nginx监听的rails端口,类似php-fpm
vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8082", :tcp_nopush => true
#原值listen "127.0.0.1:8080", :tcp_nopush => true
Gitlab-ctl restart
30秒后访问 否则502或404
5.汉化:
1.查看gitlab版本cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2.下载对应汉化包https://gitlab.com/xhang/gitlab
3.解压并进入汉化包目录查看版本 cat gitlab-11-1-stable-zh/VERSION
4.先备份防止汉化失败及时修复cp -r /opt/gitlab/embedded/service/gitlab-rails/ /home/test/bak
5.查看别名 alias 注意alias cp=cp -i
6.vim ~/.bashrc注销掉cp -i(完事之后改回来)
7.\cp -rf gitlab-11-2-stable-zh/ /opt/gitlab/embedded/service/gitlab-rails/
7.重载重启 gitlab-ctl reconfigure gitlab-ctl restart
6.备份设置
#每天备份,7天后删除7天以前的备份
###gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#604800秒 7天后删除之前的
gitlab_rails['backup_keep_time'] = 604800
7.命令解释
502错误 404
1.思路
一般如果是刚重启完服务那就等1分钟,一定要看nginx 日志还有gitlab状态(gitlab-ctl status),查看/etc/gitlab配置文件 的端口占用情况
2.解决
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
3.clone时提示warning: templates not found /usr/share/git-core/templates
创建这个目录即可
4.git clone shh...时提示输入git密码
检查公钥文件和authorized_keys是否和公钥一致
然后再尝试添加ssh-add ~/.ssh/45id_rsa
5.ssh_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.
注意/etc/hosts.deny这个文件是不是自己的IP在里面被拒绝了!
如果在Git克隆上,系统会提示您输入密码,例如git@gitlab.com's password:
SSH设置有问题。mie
确保您正确生成了SSH密钥对,并将公共SSH密钥添加到了GitLab配置文件
尝试使用ssh-agent本文档前面所述的方法手动注册您的私有SSH密钥
尝试通过运行来调试连接ssh -Tv git@example.com
(替换example.com为您的GitLab域)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。