GitLab的使用

目录

一、腾讯云 / 阿里云 购买服务器

二、服务器上安装GitLab-ce

三、使用git

1、首先把服务器上的代码克隆下来

2、将所有有改动的全部添加到要提交的本地库中

3、将修改提交到本地库

4、将本地库的commit推送到远程服务器

5、拉取服务器上最新资源:

6、在不同的分支之间切换:git checkout 分支名

7、合并分支:git merge 分支名

8.创建分支

9.查看分支

10.切换分支

11.分支合并

12.删除分支

13、合并分支:

四、配置gitlab的ssh keys


一、腾讯云 / 阿里云 购买服务器

二、服务器上安装GitLab-ce

找到买的服务器--点远程连接--workbench远程连接--立即登录

1.相关环境、依赖安装
yum -y install policycoreutils openssh-server openssh-clients postfix
yum install  policycoreutils-python
systemctl enable sshd && sudo systemctl start sshd
systemctl enable postfix && systemctl start postfix
 
2.关闭防火墙或者防火墙增加白名单
systemctl stop firewalld.service
 
3.下载软件
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-13.6.7-ce.0.el6.x86_64.rpm
 
4.开始安装
rpm -i gitlab-ce-13.6.7-ce.0.el6.x86_64.rpm
 
5.修改默认端口
cd /etc/gitlab
vi gitlab.rb
 
6.在文件中修改 external_url和nginx['listen_port']的key对应的内容
external_url 'http://114.96.82.2:8280'
nginx['listen_port'] = 8280
 
6.重启
gitlab-ctl reconfigure
gitlab-ctl restart
 
 
7.页面输入即可访问
'http://ip:端口号

三、使用git

1、首先把服务器上的代码克隆下来

git clone


2、将所有有改动的全部添加到要提交的本地库中

也可以用git add 文件名进行单独文件的提交

git add .


3、将修改提交到本地库

git commit -a -m "提交添加的注释信息"

4、将本地库的commit推送到远程服务器

git push 

5、拉取服务器上最新资源:

git pull    

6、在不同的分支之间切换:git checkout 分支名

注意事项:切换分支的时候,如果当前分支有改动没有提交,是不能切换分支的,需要先把改动的内容提交或者放入缓存区

git checkout release/v1.0.0

7、合并分支:git merge 分支名

git merge feature/login

从当前分支merge feature/login分支的内容,如果有两个人修改了同一个文件的同一行,则会有冲突,可以在IDE工具上先解决当前冲突然后再提交。

8.创建分支

使用:"git branch 分支名称" 创建分支


9.查看分支

使用:"git branch" 查看分支


期中 * 号表示现在选中的分支(默认选中开发主线)

10.切换分支

使用:"git checkout 分支名称" 切换分支

这时会提示我们切换到分支”bin“ ,使用"git branch"查看分支,*号就显示到分支”bin“上

这时候我们就可以在分支上工作,不会影响到主线的代码。当我们工作完成,需要把分支改动提交到主线时,我们就要用到分支合并"git merge 来源分支"

11.分支合并

"git merge 来源分支" 合并分支 (备注:必须在master分支上才能合并开发分支)
合并分支前,我们需要先利用切换分支命令"git checkout master" 转换到主线。

切换成功有提示
确认切换到主线后,再"git merge 来源分支" 合并分支

12.删除分支

"git branch -d 分支名称" 删除分支(分支被合并后才允许删除)(-D 强制删除)

13、合并分支:

方法一:使用merge命令合并分支
1、目标:将dev分支合并到master分支
1.1、首先切换到master分支上
git checkout master

1.2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
//如果是自己一个开发就没有必要了,为了保险期间还是pull

1.3、然后我们把dev分支的代码合并到master上
git merge dev 
//如果有冲突,手动解决冲突就行。

1.4、然后查看状态及执行提交命令
git status

On branch master Your branch is ahead of 'origin/master' by 12 commits.   (use "git push" to publish your >local commits) nothing to commit, working tree clean

//上面的意思就是你有12个commit,需要push到远程master上 
> 最后执行下面提交命令 
git push origin master 

方法二、合并某个分支上的单个commit(cherry-pick命令)
比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人想访问的内容。
无论什么原因,你现在只需要将82ecb31合并到master,而不合并feature上的其他commits;
所以我们用git cherry-pick命令来做:

git checkout master  
git cherry-pick 82ecb31

这样就好啦。
现在82ecb31就被合并到master分支,并在master中添加了commit(作为一个新的commit)。
cherry-pick和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。

这里git cherry-pick每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决既可)。

四、配置gitlab的ssh keys

1、打开win+r==>cmd

2、git config --global user.name "gitlab的名字"

3、git config --global user.email "输入邮箱"

4、git config --global --list    //查看是否有

5、ssh-keygen  //三次回车

6、打开git base here 然后再输入

在~/.ssh/下会生成两个文件,id_rsa和id_rsa.pub

id_rsa是私钥

id_rsa.pub是公钥

7、查看是否生成了id_rsa和id_rsa.pub
cd ~/.ssh
ls
cat id_rsa.pub

查看 ssh 公钥方法:

1、通过命令窗口

a. 打开你的 git bash 窗口

b. 进入 .ssh 目录:cd ~/.ssh

c. 找到 id_rsa.pub 文件:ls

d. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub

查看密钥,如图:

 

### GitLab 使用指南与常见问题解决方案 GitLab 是一款功能强大的 DevOps 平台,支持从项目规划、源码管理、CI/CD 到监控和安全审计的全流程开发协作。以下是关于 GitLab 的基本使用方法以及一些典型问题的排查建议。 #### 基础操作指南 ##### 安装配置 在 Linux 上安装 GitLab 可通过官方推荐的方式进行一键部署: ```bash # 添加 GitLab 包仓库并信任 GPG 密钥 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce ``` 随后编辑 `/etc/gitlab/gitlab.rb` 文件来设定外部访问地址和其他参数: ```ruby external_url 'http://your-domain.example' ``` 保存后执行 `gitlab-ctl reconfigure` 来应用更改[^2]。 ##### 用户权限管理 管理员可以通过 Web UI 创建组、分配成员角色,并控制项目的可见性和分支保护策略。对于更复杂的场景,可以启用 LDAP 或 OAuth 集成实现统一身份认证。 ##### CI/CD 流水线构建 创建 `.gitlab-ci.yml` 文件定义流水线阶段(stages)、作业(jobs)及其依赖关系。例如一个简单的 Node.js 构建脚本可能如下所示: ```yaml image: node:latest cache: paths: - node_modules/ build-job: stage: build script: - npm install - npm run build ``` 提交该文件至根目录即可触发自动化的测试与打包流程。 --- #### 故障排除技巧 ##### 内部 API 不可达错误 当运行 `gitlab-shell check` 出现 **Internal API unavailable** 错误提示时,应确认 GitLab 主体服务是否正常启动;如果未响应,则尝试重启整个套件并通过命令 `gitlab-ctl status` 查看状态反馈。另外还需核对 `/opt/gitlab/embedded/service/gitlab-shell/config.yml` 中指定的端口及路径设置是否匹配当前环境需求[^1]。 ##### 存储路径缺失异常 迁移过程中可能会遭遇类似 `"storage path have to exist"` 的警告信息。此时需手动建立目标存储结构并将所有权授予对应账户——通常为 `git` 用户所属群组下的特定子目录树状布局。完成后调用 `chown -R git:git /path/to/repos && chmod -R ug+rwX,o-rwx /path/to/repos` 赋予合适权限以供后续读写操作顺利开展[^3]。 ##### 访问受限处理方案 某些情况下会出现 HTTP 403 Forbbiden 页面阻断合法请求流的情况。这往往源于 Rack Attack 插件基于速率限制机制临时封禁了疑似恶意行为者的客户端 IP 地址池。为此可调整 `/etc/gitlab/gitlab.rb` 内置白名单列表字段值新增受信网络段落条目而后重载守护进程使其生效于新会话连接过程之中[^4][^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值