Linux配置Git代码管理仓库

1、下载Gitlib社区版镜像

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

2、安装rpm包

rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

3、修改gitlab配置文件,指定服务器ip和自定义端口
输入命令编辑配置文件:vim /etc/gitlab/gitlab.rb

#修改访问URL
#格式:external_url 'http://ip:端口'
external_url 'http://888:8081'
#配置时区(可以不用配置)
gitlab_rails['time_zone'] = 'Asia/Shanghai'

4、防火墙开放端口(如果没开防火墙可以跳过)

# 开放上面配置的external_url中的 8081端口 
firewall-cmd --zone=public --add-port=8081/tcp --permanent

5、重启防火墙

firewall-cmd --reload

6、查看端口号是否开启

firewall-cmd --query-port=8081/tcp

7、重置Gitlab(让修改后的配置生效)

gitlab-ctl reconfigure

8、重启Gitlib,提示 "ok: run:"表示启动成功

gitlab-ctl restart
image.png

9、Gitlib服务端常用命令

gitlab-ctl start      # 启动所有 gitlab 组件;
gitlab-ctl stop       # 停止所有 gitlab 组件;
gitlab-ctl restart    # 重启所有 gitlab 组件;
gitlab-ctl status     # 查看服务状态;
gitlab-ctl reconfigure        # 刷新配置文件;
vim /etc/gitlab/gitlab.rb     # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
gitlab-ctl tail        # 查看日志;

10、 访问Gitlab页面

如果没有域名,直接输入服务器ip和指定端口进行访问

初始管理员账户: root

注:首次访问时,会自动进入管理员密码设置页面,重新设置下密码,管理员默认账户为root

登录后可进行语言设置:

Settings -> Preferences -> Localization -> Language -> 简体中文

image.png

11、 502错误

如果确定上面配置步骤没问题,但是访问GitLab还报502错误,这是虚拟机内存不够导致的,首先保证Gitlab可用运行内存大于4G,端口未被占用,否则跑不起来

12、添加用户

当管理员在Gitlab新建用户后,系统会自动发送邮件到用户邮箱,用户通过点击邮件链接可自己配置密码;

ps: 创建用户后,用户将收到邮件,邮件可能被拉黑,请到垃圾邮箱中查阅;

Gitlab权限管理

Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master(Maintainer)、Owner

Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限

Gitlab中的组和项目有三种访问权限:Private、Internal、Public

Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
开源项目和组设置的是Internal

将项目上传到Git管理

1、进入项目根目录,鼠标右键,选择Git Bash Here


image.png

2、输入命令

git init

3、将当前目录下所有文件纳入git版本控制

git add .

4、将代码提交到本地仓库

git commit -m "注释语句"

5、在Gitlib上创建项目,点击clone复制http地址


image.png

6、将远程仓库代码拉到本地(远程仓库没有文件,可以跳过这一步)

git pull http://888/demo2.git master --allow-unrelated-histories

注意--后面表示允许不相干的两个仓库合并,因为我们之前两个仓库是完全独立的,所以直接是没办法pull下来,需要加上后面参数才行

7、将本地仓库和远程仓库关联

git remote add origin http://888/demo2.git

8、将代码推送到远程仓库

git push -u origin master

你可能感兴趣的:(Linux配置Git代码管理仓库)