centos 7部署并汉化Gitlab及基础操作
Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个Git 项目仓库,可通过Web 界面进行访问公开的或者私人的项目 Gitlab 拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,他非常易于浏览提交过的版本并提供一个文件历史库。他还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
关于gitlab的详细信息建议参考gitlab官网进行详细的了解!
博文大纲:
一、准备环境
二、安装Gitlab
三、汉化Gitlab
四、gitlab基本操作
五、远端库的基本操作
六、重置gitlab管理员密码
一、准备环境
操作系统 | 内存 | CPU |
---|---|---|
centos 7 | 4G以上 | 双核 |
二、安装Gitlab
1)安装Gitlab所需依赖
[root@gitlab ~]# yum -y install epel-release curl openssh-server openssh-clients postfix cronie policycoreutils-python
2)获取Gitlab的RPM软件包
方法一:通过清华大学的开源镜像站获取软件包(推荐)
[root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
方法二:通过Gitlab官网来获取软件包(网络稳定时使用)
[root@gitlab ~]# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm/download.rpm
3)安装Gitlab
[root@gitlab ~]# rpm -ivh gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
#安装时间较长,耐心等待,安装过程中会出现gitlab的logo
4) 修改gitlab的url并执行reconfigure
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb #修改gitlab的配置文件
……………………………… #省略部分内容
external_url 'http://192.168.1.8' #将此处改为本机的IP地址,便于访问
[root@gitlab ~]# gitlab-ctl reconfigure #重新配置gitlab,就算不修改配置文件,也需要在安装后重新配置gitlab
5)web页面访问测试
如图:
可以访问到表示没有问题,但是都是英文界面,对于英文不好的我表示很是头疼,还好可以通过一些方法使其汉化,方法如下!
三、汉化Gitlab
1)获取gitlab汉化补丁包(如果不需要汉化,则跳过此步骤即可)
[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt #查看gitlab的版本
gitlab-ce 12.3.5
[root@gitlab ~]# git clone https://gitlab.com/xhang/gitlab.git -b v12.3.5-zh
#获取汉化补丁包(注意需与gitlab的版本保持一致)
[root@gitlab ~]# cd gitlab/ #进入刚才clone下来的gitlab目录
[root@gitlab gitlab]# git diff v12.3.5 v12.3.5-zh > /root/v12.3.5-zh.diff
#用diff将英文原版与中文版的对比生成.diff文件
2)将中文补丁导入gitlab
[root@gitlab gitlab]# gitlab-ctl stop #停止gitlab
[root@gitlab gitlab]# yum -y install patch
[root@gitlab gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < ../v12.3.5-zh.diff#将刚才的diff文件做为补丁导入到gitlab中
#该命令执行过程中,一路回车跳过即可
[root@gitlab gitlab]# gitlab-ctl start #启动gitlab
[root@gitlab gitlab]# gitlab-ctl reconfigure #重新配置gitlab
3)web页面再次访问
如图:
四、gitlab基本操作
1)配置SSH方式免密登录
[root@gitlab ~]# ssh-keygen -t rsa -C "1454295320@qq.com"
#生成秘钥对,一路回车即可,“-C”后是自己的邮箱
[root@gitlab ~]# cat ~/.ssh/id_rsa.pub #查看生成的公钥并复制
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvNm+nXc59ugb0SGr9iMHDSFjvmdSJk0ORuX3hbjt822Y2ofXysUrIuBSQ1Jn0Rss/LPU54K32i4bIDsa/jD9gIpN/GqU+YP1MQ9bEw3YVUONAs+nYeWJWahQ1rMTeM0HC9aKvNTrNsOqrXIboJymBrs6Odt+1NnZsYHMwA/KlpYCFsi0HQgBzsLbrD5v++cIDTvM/V4rMq6fqFsfWoYYMHWc8JeNMl/aWJV1RhJpt7wm17FEv3XiH+wyoef5ZYI60IkH5qMJkjWhKcRXCWG5SH3nphUb1fmktB4DH92TW/EGw///VQEnE7tkpNjyJpOTXDuHnEk2tw43cctDN2sJH 1454295320@qq.com
回到web页面,操作如下:
2)创建一个基本库
如图:
回到服务器上输入测试的命令,如下:
[root@gitlab ~]# git config --global user.name "Administrator"
[root@gitlab ~]# git config --global user.email "admin@example.com"
[root@gitlab ~]# git clone git@192.168.1.8:root/test01.git
#克隆到本地,根据提示输入“yes”即可!
[root@gitlab ~]# cd test01/
[root@gitlab test01]# touch README.md
[root@gitlab test01]# git add README.md
[root@gitlab test01]# git commit -m "add README"
[root@gitlab test01]# git push -u origin master
刷新web页面即可,如图:
五、远端库的基本操作
当你从远端仓库克隆时,实际上git自动把本地的master分支和远端的master分支对应起来了,并且远程仓库的默认名称是origin。
1)查看关联的远程库的信息
[root@gitlab test01]# git remote #简洁信息
origin
[root@gitlab test01]# git remote -v #详细信息
origin git@192.168.1.8:root/test01.git (fetch)
origin git@192.168.1.8:root/test01.git (push)
2)推送分支到远程仓库
[root@gitlab test01]# git checkout -b dev #创建并切换到dev分支
[root@gitlab test01]# git push origin dev #将本地的分支推送到远程仓库
刷新页面之后,如图:
3)解决多人协作产生的问题
当我们整个小组对同一个分支进行开发时,如果在你提交之前,你的同事已经修改了分支的内容并推送到远端仓库,而碰巧你也对同样的文件做了修改,并试图推送,那么会推送失败,因为你的同事的最新提交的数据和你试图提交的数据有冲突(你本地的内容比远端仓库的旧了),解决的办法会在提示你推送失败的返回信息中给出,这里我们模拟一下这一过程。
#进入另一个目录,克隆远端仓库,模拟多人操作
[root@gitlab test01]# cd /tmp
[root@gitlab tmp]# git clone git@192.168.1.8:root/test01.git
[root@gitlab tmp]# cd test01/
[root@gitlab test01]# git checkout -b etc #重新创建一个分支并切换
[root@gitlab test01]# echo -e "touch /tmp/test01" > tmp.txt
[root@gitlab test01]# git add tmp.txt
[root@gitlab test01]# git commit -m "commmit from /tmp"
[root@gitlab test01]# git push origin etc #将新修改的内容推送到远端
回到web界面进行刷新,即可看到新提交的分支:
#上述操作是在/tmp目录下执行的,接下来的操作在/root目录下执行:
[root@gitlab test01]# cd /root/test01/
[root@gitlab test01]# git checkout -b etc
[root@gitlab test01]# echo "touch /root/test01.txt" > root.txt
[root@gitlab test01]# git add root.txt
[root@gitlab test01]# git commit -m "commit from /root"
[root@gitlab test01]# git push origin etc
#再次推送,将会出现以下错误
To git@192.168.1.8:root/test01.git! [rejected] etc -> etc (fetch first)
error: 无法推送一些引用到 'git@192.168.1.8:root/test01.git'
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更
提示:(如 'git pull')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
[root@gitlab test01]# git pull origin etc #将远端的etc分支pull到本地
[root@gitlab test01]# ls #可以看出在/tmp目录下提交的文件就存在了
README.md root.txt tmp.txt
[root@gitlab test01]# git push origin etc #然后再次将本地的dev分支推送到gitlab,即可成功
再次刷新web页面,etc分支下就会有了我们在/tmp目录和/root目录下提交的所有内容,如图:
4)合并远程分支
[root@gitlab test01]# git checkout master #切换至master分支
[root@gitlab test01]# git merge etc #合并etc分支
[root@gitlab test01]# ls #查看合并后的分支下内容
README.md root.txt tmp.txt
[root@gitlab test01]# git add .
[root@gitlab test01]# git commit -m "提交"
[root@gitlab test01]# git push origin master #推送到远端版本库
再次刷新web页面,如图:
5)删除远程的分支
[root@gitlab test01]# git branch -d etc #删除本地的dev分支
[root@gitlab test01]# git branch -r -d origin/etc #删除指定的远程分支
[root@gitlab test01]# git push origin :etc #将删除的分支提交到远程版本库中
[root@gitlab test01]# git branch -d dev
[root@gitlab test01]# git branch -r -d origin/dev
[root@gitlab test01]# git push origin :dev #同上
再次刷新web页面,如下:
六、重置gitlab管理员密码
[root@gitlab ~]# gitlab-rails console production #必须是root用户登录服务器执行该命令
irb(main):001:0> user = User.where(id: 1).first #id为1的是超级管理员
irb(main):002:0> user.password = 'yourpassword' #密码必须至少8个字符
irb(main):003:0> user.save! #保存用户修改信息,如没有问题返回true
irb(main):004:0> exit #退出
至此,再次登录,就需要使用新密码yourpassword进行登录了。
centos 7部署并汉化Gitlab及基础操作相关推荐
- Gitlab部署和汉化以及简单运维
Gitlab部署和汉化以及简单运维 时间 2016-04-14 01:03:43 Xuanwo's Blog 原文 https://xuanwo.org/2016/04/13/gitlab-inst ...
- gitlab部署步骤+汉化
系统环境centos7 下载gitlab安装包 https://packages.gitlab.com/gitlab/gitlab-ce 我下载的版本是 gitlab-ce-11.1.4-ce.0.e ...
- python环境搭建和pycharm的安装配置及汉化(零基础小白版)
前言:写这篇文章主要是介绍一下python的环境搭建和pycharm的安装配置,适合零基础的同学观看.这篇文章你会学到python的环境搭建和python比较好用的IDE pycharm的安装与基础配 ...
- IDEA汉化(使用插件进行操作哦)
简单一看就会----汉化操作(下载好以后会提示重启就可以使用了,不用时候直接取消就可以哦,超方便)
- centos 7 部署 汉化版 gitlab
转自:https://www.cnblogs.com/straycats/p/7637373.html 实测可行! ========================================== ...
- GitLab10安装-部署-汉化-备份-升级
本文以 GitLab 10.5 的安装与汉化进行例子 博主新的博客地址: https://www.dgstack.cn/ 进入有惊喜哦~~ 欢迎收藏 1.环境简介: CentOS 7 (and Red ...
- Gitlab安装汉化
环境准备 操作系统:centos7(minimal,www.centos.org下载的包是CentOS-7-x86_64-Minimal-1708.iso) CPU:2核 内存:6G 更换阿里yum( ...
- Linux配置安装 gitlab及汉化详细教程
gitlab 安装及汉化 GitLab简介: GitLab是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的Web服务.可通过Web界面进行访问公开的或者私人项目.它 ...
- 私有仓库Gitlab的安装与汉化
Gitlab软件及汉化包下载: 清华大学源(gitlab-ce社区版 centos7下载):https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 ...
最新文章
- syslog服务器默认使用协议,什么是syslog协议?
- 计算机控制z变换例题,计算机控制习题答案.doc
- Spring任务调度之Spring-Task
- wxWidgets:从互联网下载文件
- 最全的IO操作知识总结
- 如何在eclipse中使用分支合并功能
- NLP复习资料(5)-第九章 句法分析
- Diango博客--13.将“视图函数”类转化为“类视图”
- org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 110; schema_reference.4: 无法读取方案文档
- mysql不能删除外键吗,为什么mysql不允许删除外键?
- 算法竞赛入门经典 电子书(附习题解析)网盘下载
- 串行通信协议 CAN 和 LIN
- Gson将json转Map的那些坑
- java计算机毕业设计风情旅游网站源码+mysql数据库+系统+lw文档+部署
- 欧姆龙CP1H+CIF11与3台施耐德ATV 71变频器通讯实战程序
- 论文写作,word首页脚注不显示编号
- Blender2.8以及2.9版本 摄像机设置方式笔记
- 【毕业设计】单片机 火灾智能报警系统 - 嵌入式 物联网
- LAMMPS+Gaussian专题
- 管道软件_软件管道工的就业市场过热
热门文章
- 【Android】毫无耦合性,一个Item根布局搞定 item侧滑删除菜单,像IOS那样简单的使用侧滑删除。
- linux 进程状态 tl6,线程的6种状态
- avro数据格式说明
- 90页PPT讲懂开源分布式流处理平台Kafka
- 网吧组网光纤接入与ADSL接入的较量
- 通过优化Ngnix配置,减少网络压力
- Study Group Learning: ImprovingRetinal Vessel Segmentation Trained with Noisy Labels学习笔记(有代码)-仅自用
- 如何用request模块下载rar, zip文件
- 动态页面转pdf文件方法
- 隧道技术 Frp 多层内网穿透