名词释义:
HEAD:git 是如何知道当前在哪个分支工作呢?它保存着一个名为 HEAD 的指针。是一个指向正在工作中的本地分支的指针。
分布式版本控制系统:每台服务器都拥有所有代码,任意一台服务器崩溃,从其他服务器复制过来就好。git就是此类。
git是一个版本控制系统(Version Control System,VCS)。版本控制是一种记录一个或若干个文件内容变化系统。常见的还有SVN,CVS等软件。有了这些系统,我们就不用担心文件丢失,不小心无修改文件,而且还能随便回到历史修改的某个时刻。
SVN,CVS这类早起的版本控制软件,主要是集中式版本控制系统,他们都有一个单一的集中管理服务器,保存所有的文件修改版本,而系统工作的人员通过客户端链接到这台服务器上,取出最新的文件或是历史版本文件。
官方网站:https://about.gitlab.com
基础环境:
关闭防火墙:
systemctl status firewalld
systemctl disable firewalld
sed -i ’s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
1.安装相关依赖
yum install curl policycoreutils openssh-server openssh-clients postfix -y

2.Gitlab包上传到服务器,并且安装
rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

3.修改Gitlab配置
执行vim /etc/gitlab/gitlab.rb命令,编辑配置文件:
13行,修改成gitlab服务器地址加端口

4.重载配置及启动Gitlab
gitlab-ctl reconfigure
中间有类似如下提示按enter即可!

成功如下图:

查看状态
gitlab-ctl status

5.gitlab服务管理命令(开启/关闭/重启)
gitlab-ctl start/stop/restart
6.登录gitlab
http://ip 管理员:root
密码:初始配置新密码,最少8位

7.取消注册功能
登录gitlab–admin area(顶部菜单栏小扳手图标)–左侧面板settings–Sign-up Restrictions–去除勾选sign-up enabled
–下拉选save保存

验证:

9.修改登录欢迎界面
登录gitlab–admin area–Appearance–填写管理员联系方式和logo–save

验证:

10.Gitlab添加组、创建用户、创建项目
项目创建流程
(1)创建group
登录gitlab–admin area–new group


(2)创建用户
登录gitlab–admin area–new user–添加用户名、邮箱–create–edit–修改密码



设置密码:


创建组添加组成员:权限一定不能设错,否则,默认是gust不能下载上传代码。

查看到添加的用户:

(3)创建项目
登录gitlab–admin area–new project–注意选择组

成功验证:

11.Gitlab用户在组中有五种权限:
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,测试、产品经理可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,开发人员可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
Gitlab中的组和项目有三种访问权限:
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
12.上传ssh-key
本地用户创建秘钥:ssh-keygen -t rsa
复制公钥内容:cat /root/.ssh/id_rsa.pub
黏贴到web界面:右上角–用户–settings–SSH Keys


13.克隆下载项目
git clone git@192.168.1.103:dev/accp.git
如下图:则条件具备克隆项目

先创建项目文件:

提交:


查看:

报错1:本地克隆失败

解决:翻译得知,我没有权限或此项目不存在,忘记创建组,创建并添加用户,发现问题并没解决,还是这个错误,还需要给此用户更改有克隆权限即可!此图是改过的,之前是gust这是添加组成员默认的权限


再执行成功:

报错2:致命的:验证失败

命令错误,clone后面不应该是网页域名,而是git命令的形式填写远程文件地址
14.修改文件内容,再推送上传代码(管理员身份)
cd accp/
echo > new.txt
git add .
git commit -m “add new.txt”
git push -u origin master
15.在客户机,普通开发人员更新代码流程
(1)上传ssh秘钥
本地用户创建秘钥:ssh-keygen -t rsa
复制公钥内容:cat /root/.ssh/id_rsa.pub
dev01登录:右上角–用户–settings–SSH Keys
(2)关联远程仓库
创建目录:mkdir /data


(4)创建分支,修改代码
git config –global user.email “”
git config –global user.name “dev01”
git checkout -b ops
echo > new111.txt
git add .
git commit -m “add new111.txt”
git remote add [remote] [url] #添加(关联)远程库
git remote set-url [remote] [url] #修改远程仓库
git clone [url] #克隆远程仓库项目
git remote #查看指定远程仓库命名简写
git remote –v #查看远程仓库详细信息以及名称对应URL
git push -u remote master #第一次推送master分支的所有内容
git fetch remote [branch/tag] #下载远程仓库的所有变动
git pull remote [branch/tag] #拉取主分支最新版本(可以拉取其他分支)
git push remote [branch/tag] –force #强行推送当前分支至远程分支,及时冲突
git push remote [branch/tag] –all #推送所有分支到远程仓库
git remote rename [oldname] [newname] #修改远程仓库名称
git remote remove [name] #删除远程仓库名称以及URL地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/175622.html