gitlab安装

 gitlab安装流程

官网  https://about.gitlab.com/install/#centos-7  安装流程
装之前关闭防火墙        selinux
 yum install -y curl policycoreutils-python openssh-server

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh| bash
vim  /etc/gitlab/gitlab.rb/external_url 'http://192.168.1.120' 
gitlab-ctl reconfigure

 gitlab-ctl status  安装完毕

 二. http://192.168.1.120 打开页面设置密码

三.创建组--和项目

四 。添加SSH key

 [root@node1 ~]# cat .ssh/id_rsa.pub

 #删除远程仓库

[root@node1 data]# git remote
[root@node1 data]# git remote remove origin

五。创建提交3部曲

[root@node1 data]# touch test.txt
[root@node1 data]# git add .
[root@node1 data]# git commit -m 'newfile test'
[master de646f9] newfile test
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
[root@node1 data]# git push -u origin master
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 215 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To git@192.168.1.120:test/git_data.git
   74d9a27..de646f9  master -> master
Branch master set up to track remote branch master from origin.

六。创建DEV用户

添加到test组

如果开发用户想推代码需要添加ssh key

[root@node2 ~]# cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDYTi+o3TMaTMqblJ8PzFK45x6psSCkxGZEtT1ZnRRBjQs1hkRdO1qZqoAswvI1Ha7eR33iQplgRUxRXR/FKfugR9xBp3iKYAElwBC2545XkPMPvERSMd8nMdDgjwqKkIOfcefBrFRBPfggCFoNlfAHUFjZIhTo3Sh30hgSTKxUzd7cpitHOoCVOHVCS/qiXgqR/VY2tzoxDEn4e82iOGN54JNUdy0n2zYXvR4WEcYg2LBVUvT+DHuD7dBPWgt4Dfi3mfbp4kLIhI/sPF6zORgtrZer6TJKVmzjSSGLiHSfAg02kgroOJ/RCu7cpgq+zQJwgPx4fjhIIQ6IqlIBav1 root@node2

在本机克隆仓库代码

[root@node2 git_data]# git clone git@192.168.1.120:test/git_data.git
开发推送代码到gitlab 但是这种有问题 不能让开发直接推送到master 需要让他推送到分支上


[root@node2 git_data]# touch file.txt
[root@node2 git_data]# git add .
[root@node2 git_data]# git commit -m 'newfile'

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@node2.(none)')
[root@node2 git_data]# git config --global user.email "dev@example.com"
[root@node2 git_data]#   git config --global user.name "dev"
[root@node2 git_data]# git commit -m 'newfile'
[master ef18a5a] newfile
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file.txt
[root@node2 git_data]# git push -u origin master
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 219 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To git@192.168.1.120:test/git_data.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@192.168.1.120:test/git_data.git'

 创建分支,并且把分支推送到master

[root@node2 git_data]# git checkout -b dev
Switched to a new branch 'dev'
[root@node2 git_data]# git branch
* dev
  master
[root@node2 git_data]# git push -u origin dev
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 219 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: 
remote: To create a merge request for dev, visit:
remote:   http://192.168.1.120/test/git_data/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote: 
To git@192.168.1.120:test/git_data.git
 * [new branch]      dev -> dev
Branch dev set up to track remote branch dev from origin.
原文地址:https://www.cnblogs.com/zhaobin-diray/p/13221556.html