当前位置: 首页 > news >正文

gitlab的使用(待书写)

参考blog:https://blog.csdn.net/liumiaocn/article/details/73468806

1、gitlab安装

之前有一篇常规安装gitlab的文章,有需要的可以看那个,这次试用docker搭建一个gitlab,暂不使用加速器

cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sudo systemctl daemon-reload
sudo systemctl restart docker

docker run --detach \
--hostname gitlab.centos.com \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /docker/gitlab/config:/etc/gitlab \
--volume /docker/gitlab/logs:/var/log/gitlab \
--volume /docker/gitlab/data:/var/opt/gitlab \
docker.io/gitlab/gitlab-ce

 

2、sshkey的设定

2.1、客户端生成key

使用ssh-keygen,一路enter,可以生成缺省的rsa方式的sshkey。

[root@localhost ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:RdeWapW8fkVyhy758pS5hlA0AblbGvq7LTu5kj7YjkI root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|          ooo+ + |
|         ...o X +|
|          .o B =.|
|         .o B o .|
|        S. B + o.|
|    E   . + . * .|
|   .   o o o = o |
|    . ..= =.. +  |
|     ..ooo=B..   |
+----[SHA256]-----+
[root@localhost ~]# 

 

生成文件内容说明

/root/.ssh/id_rsa    rsa私钥
/root/.ssh/id_rsa.pub    rsa公钥

2.2、设定gitlab

 将上述生成的rsa公钥内容拷到gitlab中,公钥信息如下:

[root@gitlab ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCl6CDWYl2C0bWFhc3HhkiORLgrBTgT+YvEtMXngHqRMWwMWZ7iIXjbrib+3y4VSpMBfdOf4O32ZdGu2mEezYUDU9VZdvxXv3br8skBzVPbbWUEZuwwty/O44WeJko35yfiq4EbkdSnNNBSujKua1JUqz0wdNw6zhfcOpGxeKg2VRA3nkuVExwBkeTkIufT1CXeL1yuKcX6V+PK3Eany1tVTHHYUonQCa+kee01nwXIyJTWuQ4YEH/yZLaEJcFO9fym2VcYjTD2yOU80O21scF3x7eo8bxn6KwPny34Z7JmLUD19gDgJzUI6taBknOYjpwxUaHS5XRcnlzhvmaf0yIT root@localhost.localdomain
[root@gitlab ~]# 

 

2.3  gitlab登录之后,profile settings -> ssh keys,添加ssh key 

 2.4、验证

出现”Welcome to Gitlab, xxxx”的信息表示连接OK了。

[root@gitlab ~]# ssh -T  git@10.155.0.92
Welcome to GitLab, @root!
[root@gitlab ~]# 

 

 

 3、创建项目

 

 

 

 

 3.1 客户端操作内容如下:

[root@gitlab ~]# git config --global user.name "huangyanqi"
[root@gitlab ~]# git config --global user.email "573143775@qq.com"

 

 

3.2、创建第一个git仓库

使用git add/commit命令之后即可将本地内容push到remote

[root@gitlab ~]# cd /usr/local/src/
[root@gitlab src]# ll
总用量 0

#克隆web仓库 [root@gitlab src]# git clone git@10.155.0.92:root/web.git 正克隆到 'web'... warning: 您似乎克隆了一个空版本库。

#添加一个文件 [root@gitlab src]# cd web
/ [root@gitlab web]# echo "123-123-123" > 1.txt

#提交至本地暂存区 [root@gitlab web]# git add
*

#查看提交状态 [root@gitlab web]# git status # 位于分支 master # # 初始提交 # # 要提交的变更: # (使用 "git rm --cached <file>..." 撤出暂存区) #这条命令可以删除已经提交至暂存区的文件 # # 新文件: 1.txt #

#提交本地master分支 [root@gitlab web]# git commit
-m "123" [master(根提交) 32e7513] 123 1 file changed, 1 insertion(+) create mode 100644 1.txt

#提交至gitlab进行分支合并 [root@gitlab web]# git push
-u origin master Counting objects: 3, done. Writing objects: 100% (3/3), 207 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@10.155.0.92:root/web.git * [new branch] master -> master 分支 master 设置为跟踪来自 origin 的远程分支 master。 [root@gitlab web]#

3.3、结果确认

 

 4、分支操作

4.1、创建分支

创建一个名为nginx的分支

[root@gitlab web]# pwd
/usr/local/src/web
[root@gitlab web]# git branch nginx

 

 确认分支情况,加上default的master分支,就两个,而且master分支前面的*表明当前活动分支为maste

[root@gitlab web]# git branch 
* master
  nginx

 

 

4.2、分支切换

[root@gitlab web]# git checkout nginx
切换到分支 'nginx'

 

 当然也可以使用git checkout -b develop实现创建+切换的功能

 

4.3 、分支更新

[root@gitlab web]# git checkout -b nginx
切换到一个新分支 'nginx'

[root@gitlab web]# ll 总用量 4 -rw-r--r-- 1 root root 24 5月 7 13:48 README.md [root@gitlab web]# touch 111.txt [root@gitlab web]# git add * [root@gitlab web]# git commit -m "add 111.txt" [nginx 4dec5c6] add 111.txt 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 111.txt

[root@gitlab web]# git push
-u origin nginx Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 270 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 1 (delta 0) remote: remote: To create a merge request for nginx, visit: remote: http://10.155.0.92/root/web/merge_requests/new?merge_request%5Bsource_branch%5D=nginx remote: To git@10.155.0.92:root/web.git * [new branch] nginx -> nginx 分支 nginx 设置为跟踪来自 origin 的远程分支 nginx。

 

结果确认

 

4.4、切换回master

 

 4.5、合并操作

 使用no-ff选项进行合并可以将comment一起转移,能够清晰的看出从哪儿来,做了哪些改变。 所以一般来说使用no-ff在管理起来更加方便。

查看提交历史方法

[root@gitlab web]# git log
commit 3693ff92e086e1971a7886b9acd516a8872609bb
Author: Administrator <admin@example.com>
Date:   Tue May 7 13:46:47 2019 +0800

    Add README.md

 

merge操作进行合并

 

4.6、 push操作

push之后就完成了将分支的内容合并回master的全部操作。

[root@gitlab web]# git push origin master
Counting objects: 1, done.
Writing objects: 100% (1/1), 227 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@10.155.0.92:root/web.git
   3693ff9..681feb5  master -> master

 

4.7、删除分支

[root@gitlab web]# git push origin --delete nginx
To git@10.155.0.92:root/web.git
 - [deleted]         nginx

 

注释:此时在gitlab上是已经看不出来,但在客户端使用 git brach 还是能看见本地分支的。

 

 

 

 

删除一个项目:

 

 

 

 

 

转载于:https://www.cnblogs.com/huangyanqi/p/10785825.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ssh免密码登陆设置时bad ownership or modes for file 报错的解决办法
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • 模块讲解
  • 真·APIO2018滚粗记
  • 面试-线程池的成长之路
  • mysql建数据库的字符集与排序规则
  • “互联网+教育”时代 亚信安全助力江汉大学“安全”云化
  • Java多线程处理某个线程超时的问题
  • 学习网站
  • 下单快发货慢:一个 JOIN SQL 引起 SqlClient 读取数据慢的奇特问题
  • ES6之路之模块详解
  • [十二省联考]字符串问题
  • FFmpeg 硬件加速方案概览 (下)
  • Vuex.js状态管理共享数据 - day8
  • 量子计算可以给企业竞争带来的七种优势
  • 分享的文章《人生如棋》
  • 【css3】浏览器内核及其兼容性
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Android 架构优化~MVP 架构改造
  • avalon2.2的VM生成过程
  • DataBase in Android
  • Docker容器管理
  • ES6之路之模块详解
  • github从入门到放弃(1)
  • happypack两次报错的问题
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JWT究竟是什么呢?
  • Linux gpio口使用方法
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Mybatis初体验
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • nodejs调试方法
  • Redux系列x:源码分析
  • 配置 PM2 实现代码自动发布
  • 系统认识JavaScript正则表达式
  • 如何用纯 CSS 创作一个货车 loader
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $.ajax()参数及用法
  • (1)STL算法之遍历容器
  • (2)MFC+openGL单文档框架glFrame
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)kafka实战——kafka源码编译启动
  • (转)http-server应用
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)创业家杂志:UCWEB天使第一步
  • (转)关于多人操作数据的处理策略
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net 4.0发布后不能正常显示图片问题
  • .net 7和core版 SignalR
  • .net经典笔试题
  • .NET中使用Protobuffer 实现序列化和反序列化