Ubuntu20.04安装配置gitlab及利用git管理代码超具体教程

打印 上一主题 下一主题

主题 648|帖子 648|积分 1944

目录
简介
安装教程
安装gitlab
配置Gitlab 
登录gitlab 
gitlab内存优化 
创建用户 
创建群组
添加成员进群组
管理群组成员权限 
 创建项目
分支管理 
利用git bash工具
下载git bash
上传代码
利用sourceTree工具创建分支
提交分支
gitlab服务器邮箱的配置(可选)
今日推荐 


简介

GitLab是一个开源的、基于Web的Git存储库管理工具,它提供了一整套用于代码版本控制、持续集成和软件开辟协作的功能。GitLab提供了一个方便的界面来管理和访问你的代码存储库。它还提供了问题跟踪、代码考核、发布管理等功能,可以资助团队更好地协作开辟软件项目。
安装教程

安装gitlab

访问Gitlab官网:gitlab/gitlab-ce - Packages · packages.gitlab.com,找到最新版本的gitlab-ce安装包,注意版本是ubuntu/focal。

ps:ubuntu/focal 适用于 ubuntu 20系列,ubuntu/bionic 适用于 ubuntu 18 系列
通过wget方式在线安装gitlab,复制wget下载命令。 


  1. wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_16.5.8-ce.0_amd64.deb/download.deb
复制代码
执行结果如图:

利用dpkg命令安装步伐:
  1. sudo dpkg -i gitlab-ce_16.5.8-ce.0_amd64.deb
复制代码

配置Gitlab 

运行sudo vim /etc/gitlab/gitlab.rb进入gitlab的配置文件修改界面,输入i进入编辑模式,然后找到external_url字段(在第32行),改成自己需要设置的IP和端标语,IP设置为本机的ipv4地址。
 

修改时区 

查找该行,然后将注释去掉,UTC改成Asia/Shanghai 
修改完毕以后按esc键退出编辑模式,然后输入:wq生存即可。接下来通过下列命令启动服务。 
  1. # 停止gitlab服务
  2. sudo gitlab-ctl stop ​
  3. # 启动gitlab服务
  4. sudo gitlab-ctl reconfigure ​
  5. # 启动所有gitlab组件
  6. sudo gitlab-ctl start
  7. # 启用开机自启动
  8. sudo systemctl enable gitlab-runsvdir.service
复制代码


下面是一些常用命令
  1. #gitlab配置文件修改
  2. sudo vim /etc/gitlab/gitlab.rb
  3. #停止gitlab
  4. sudo gitlab-ctl stop ​
  5. #重载gitlab配置文件
  6. sudo gitlab-ctl reconfigure ​
  7. #重启所有gitlab组件
  8. sudo gitlab-ctl restart ​
  9. #启动所有gitlab组件
  10. sudo gitlab-ctl start
  11. #查看运行状态
  12. sudo gitlab-ctl status
  13. #开机自启
  14. sudo systemctl enable gitlab-runsvdir.service
复制代码
查察root初始密码(密码24小时有用):
  1. cat /etc/gitlab/initial_root_password
复制代码
 ​​​​​

登录gitlab 

接下来就可以通过http://192.168.188.138地址来登录gitlab了。登录的地址是你之前设置external_url字段的值。

 不风俗新的界面模式,可以选择此项关闭:

按下面的步骤将gitlab语言设置为中文:
注意点击Preferences。

重新设置root用户密码:

禁用注册功能 
将通用设置中的注册限制,启用注册功能的勾给去掉(记得向下滑找到点击生存修改!)

ps:为了方便管理。。。。照旧禁掉为好。 
gitlab内存优化 

为减少内存占用可举行如下配置:
  1. sudo vim /etc/gitlab/gitlab.rb
复制代码
  1. # 减少数据库缓存
  2. postgresql['shared_buffers'] = "64MB"
  3. # 减少数据库并发数
  4. postgresql['max_worker_processes'] = 4
  5. # 禁用puma cluster模式,可以减少资源占用
  6. puma['worker_processes'] = 0
  7. # 减少sidekiq并发数
  8. # sidekiq['concurrency'] = 2
  9. sidekiq['max_concurrency'] = 2
  10. # 禁用监控
  11. prometheus_monitoring['enable'] = false
  12. # 减少gitlab_rails组件的内存消耗
  13. gitlab_rails['env'] = {
  14.   'MALLOC_CONF' => 'dirty_decay_ms:500,muzzy_decay_ms:500'
  15. }
复制代码

重新加载gitlab服务:
  1. sudo gitlab-ctl reconfigure
  2. sudo gitlab-ctl restart
复制代码
创建用户 

管理员中点击用户然后点击新用户

设置好名称用户名电子邮箱、访问级别和其他选项后点击创建即可
ps:邮箱我随意设置的(我也没用到邮箱);假如内网要利用邮箱的话,请搭建邮箱服务器
 

然后再次点击用户,举行修改密码的操作
 

生存更改,然后我们利用yuanshen用户举行登录,新用户登录仍需要重设置密码(可以与旧密码雷同) 


创建群组

点击群组,然后新建群组

设置群组名称,选择可见性,别的设置可选,然后点击新建即可完成


添加成员进群组

 点击刚才创建的群组

点击邀请同事,然后输入用户名即可

管理群组成员权限 

在管理员中选择群组,找到管理权限

选择权限
   权限阐明
  Guest(访客):
  访客拥有最低的权限级别,通常是公开项目的非注册用户或者已注册用户没有被授权访问的私有项目的用户。
访客只能查察项目和问题,但不能执行其他操作,比方修改代码或创建问题等。
Reporter(陈诉者):

  陈诉者拥有读取和评论项目的权限,但不能修改代码或项目设置。
陈诉者可以查察项目的代码、问题、归并哀求等,并且可以添加注释和标签,但不能对这些内容举行更改。
Developer(开辟者):

  开辟者是项目的主要贡献者之一,具有修改代码、创建分支、提交归并哀求等权限。
开辟者可以修改项目的代码、创建新分支、提交归并哀求并将更改归并到主分支中。
Maintainer(维护者):

  维护者是项目的管理者,拥有对项目的完全访问权限,可以修改项目设置、添加新成员、归并归并哀求等。
维护者可以对项目举行所有操作,包括创建、修改、删除代码、分支、归并哀求、标签等。
Owner(所有者):

  所有者是拥有项目的最高权限用户,通常是创建项目的用户。
所有者具有维护者的所有权限,同时还可以管理项目的访问级别(公开、私有)、删除项目等。

  

 创建项目

创建好群组后然后点击新建空白项目,设置好项目名称、可见性和别的设置点击新建即可

   第一步:选择url路径。
  第二步:输入项目名称。项目命名规则:aaa_bbb_ccc_ddd_eee。(一个小建议,固然我上面是没有按照这个规则的。)
  aaa:总项目拼音缩写(比方:星穹铁道即xqtd)
  bbb:总项目内的子项目名
  ccc:开辟者拼音缩写
  ddd:创建日期
  eee:项目简介缩写
  第三步:选择内部。末了点击创建项目。
  分支管理 

创建好项目后,当前会有一个main主分支,我们可以选择新建分支,然后输入分支名称即可

如今我们可爱的三月七小姐就登上了列车

我们点击堆栈,分支,然后点击查察分支规则

找到受保护分支,这里我们可以选择添加保护的分支;可以设置角色权限来对分支保护

设置完成即可(我这里让sanyueqi分支可以让开辟者举行上传与归并,main分支则不让开辟者举行归并) 

ps:对于项目的管理,可以设置主分支只让主要管理者才可以归并,其他开辟人员创建自己的分支举行上传代码和归并代码,要与主分支归并可以提出归并哀求经过考核才能归并 
利用git bash工具

下载git bash

下载地址:Git - Downloads
选择windows,下载好后都默认直接安装即可 


上传代码

上传本地已有的项目
请提前删除本地项目内的.idea和.git文件!!!进入本地项目中,鼠标右键点击“git bush here”。(已经安装了git),然后将git命令按顺序输入。
选择自己要上传的代码目录下,右键鼠标选择open Git Bash here(安装好git后自动会有)

 在刚才打开的git bash终端设置用户名、邮箱
  1. #设置用户名、邮箱为gitlab上设置的邮箱
  2. git config --global user.name "yourname@yourgilab.com"
  3. git config --global user.email "youremail@yourgitlab.com"
复制代码

 然后输入
  1. #在gitlab项目内复制的http链接
  2. git clone http://192.168.0.130/java/xingqiongtiedao.git
复制代码
将目录内代码拷贝到项目目录(将红框外的文件全都拷到红框的这个目录)

切换目录(cd xingqiongtiedao)

 然后把目录下的所有文件上传到git
git add .

提交信息
git commit -m "你的描述"

推送项目到GitLab
git push <链接(orgin是别名)> <本地堆栈>:<远程分支>
git push origin main:sanyueqi

推送现有文件夹 
在当前文件夹打开git bash,然后输入以下命令:
  1. #设置全局用户名为 “test1”,用于标识提交代码的用户。
  2. git config --global user.name "test1"
  3. #设置全局用户邮箱为 “test1@qq.com”,用于标识提交代码的用户。
  4. git config --global user.email "test1@qq.com"
  5. #初始化一个新的 Git 仓库,并设置默认分支名称为 main。该命令会在当前目录下创建一个 Git 仓库。
  6. git init --initial-branch=main
  7. #将远程仓库 http://192.168.0.130/java/test.git 添加为本地仓库的远程仓库,并命名为 origin。
  8. git remote add origin http://192.168.0.130/java/test.git
  9. #将当前目录下的所有文件添加到暂存区,准备提交到本地仓库。
  10. git add .
  11. #将暂存区的文件提交到本地仓库,并附上提交信息 “你的描述”,用于描述本次提交的目的。
  12. git commit -m "你的描述"
  13. #将本地的 main 分支推送到远程仓库 origin 的 danheng 分支。这个命令有一个 : 符号,表示将本地的 main 分支推送到远程仓库的 danheng 分支。
  14. git push origin main:danheng
复制代码
去网页分支中查察一下,上传成功

第二次上传 
在刚才已有的克隆的目录下,新增一个txt作为测试

右键打开git bash
输入git status我们可以看到赤色的未上传的部分

所需命令如下:
  1. #查看当前工作区和暂存区的状态,显示哪些文件被修改过或处于暂存状态。
  2. git status
  3. #初始化
  4. git init
  5. #添加到暂存区
  6. git add .
  7. #提交信息
  8. git commit -m "second_commit"
  9. #将本地的 main 分支推送到远程仓库 origin 的 danheng 分支。
  10. git push origin main:danheng
复制代码
上传完成

假如需要将代码上传到别的账户,需要到控制面板-用户账户-管理根据-Windows根据中更改账户信息。

利用sourceTree工具创建分支

下载链接:Sourcetree | Free Git GUI for Mac and Windows
第一步:点击clone
第二步:输入刚刚复制的HTTP的url
第三步:选择克隆的文件夹位置
第四步:点击克隆

下图是克隆完成后的样式:

创建项目分支
第一步:选择主线(master)
第二步:点击分支
第三步:输入新分支名称(开辟人员缩写)
第四步:创建分支

下图是成功创建分支后的样式:

提交分支

代码发生变更后提交代码
第一步:点击暂存所有
第二步:点击提交

第三步:输入本次更新的内容概述
第四步:勾选“立即推送变更”

点击提交,可以在gitlab内选择对应分支,就可以看到之前的提交操作。
gitlab服务器邮箱的配置(可选)

利用vim打开配置文件
  1. vim /etc/gitlab/gitlab.rb
复制代码
添加红框里的配置
  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.qq.com"
  3. gitlab_rails['smtp_port'] = 587
  4. gitlab_rails['smtp_user_name'] = "xxxx@qq.com" # 需要自行修改
  5. gitlab_rails['smtp_password'] = "123456" # 需要自行修改
  6. gitlab_rails['smtp_authentication'] = "login"
  7. gitlab_rails['smtp_enable_starttls_auto'] = true
  8. gitlab_rails['gitlab_email_from'] = "xxxx@qq.com" # 必须与上面的邮箱一样
复制代码
 

生存上面的配置执行命令重新载入配置
  1. sudo gitlab-ctl reconfigure
复制代码
 进入gitlab控制台
  1. sudo gitlab-rails console
复制代码
 输入以下内容发送邮箱测试是否能成功发送(title是邮件的标题,body是邮箱正文内容)
  1. Notify.test_email('xxxxx@qq.com', 'title', 'body').deliver_now
复制代码
##################################################################################################################################################
今日推荐 

小说:《我在精神病院学斩神》
简介:
你是否想过,在霓虹璀璨的都市之下,潜藏着来自古老神话的怪物?
你是否想过,在那高悬于众人头顶的玉轮之上,伫立着守望人间的神明?
你是否想过,在人潮汹涌的现代城市之中,存在代替神明行走人间的超凡之人?
人类统治的社会中,潜伏着无数诡异;
在那些无人问津的生命禁区,居住着古老的神明。
炽天使米迦勒,冥王哈迪斯,海神波塞冬……
而属于大夏的神明,毕竟去了那边?
在这属于“人”的世界,“神秘”需要被肃清!
末了,在说一句:我是胡桃的狗!






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表