Gitlab使用
设置组名称、描述等创建群组
创建仓库
管理区域-创建仓库
1、登陆dev用户测试是否能看到空的git-test仓库
2、添加ssh-keys到gitlab 注:一个服务器的key只能添加到一个gitlab服务器上,一个用户可以添加多个key
ssh-keygen -t rsa
3、添加远程仓库、推送本地代码到远程仓库
git remote add origin git@10.0.0.203:oldboy/get_test.git # 添加远程仓库 git remote rename origin old-origin # 远程 origin 如果已经存在则重新命名或者新添加仓库名称不同 git push -u origin --all # 推送代码到远程仓库
4、克隆代码到另外一台主机
如果不做认证会让输入gitlab的密码、我们使用key进行认证
ssh-keygen -t rsa
把公钥复制到dev用户下进行测试
然后在克隆代码
git clone git@10.0.0.203:oldboy/get_test.git 测试推送代码到dev下 git branch dev git checkout dev touch dev git add . git commit -m "add dev" git push -u origin dev # 推送dev分支到远程仓库 提交合并请求进行分支合并到master主分支 合并后在gitlab服务端master上没有dev、要先进行pull cd /root/git_data git pull
5、设置保护主分支
测试dev分支推送代码则显示为拒绝,如果还是可以推送请查看配置保护分支选项 [root@web01 get_test]# git checkout master [root@web01 get_test]# git merge dev [root@web01 get_test]# git push -u origin master
6、返回master端测试推送,由于其他分支进行推送,和master端内容不一致,所以无法进行推送,使用git pull把代码拉取到本地,或者git fetch 把代码拉取到本地仓库后进行合并(注意:git pull = git tetch+git merge)
gitlab备份
对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。
gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求。
备份文件将保存在配置文件中定义的backup_path中,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备份时的时间戳。TIMESTAMP的格式为:EPOCH_YYYY_MM_DD_Gitlab-version。
如果自定义备份目录需要赋予git权限
配置文件中加入
gitlab_rails['backup_path'] = '/data/backup/gitlab' gitlab_rails['backup_keep_time'] = 604800 备份保留的时间(以秒为单位,这个是七天默认值), mkdir /data/backup/gitlab chown -R git.git /data/backup/gitlab
完成后执行
gitlab-ctl reconfigure