Git和Gitlab的部署和操作

一。GIT的基本操作

1.GIT的操作和查看内容

[root@master ~]# yum install git -y

[root@master ~]# git config --list:查看所有配置

2.GIT仓库初始化

[root@master ~]# mkdir /gittest:创建目录
[root@master ~]# cd /gittest/:进入目录
[root@master gittest]# git init:初始化
[root@master gittest]# ls -a:查看内容
.  ..  .git
[root@master gittest]# git status:查看工作区工作状态

3.git常见的命令:

二。Gitlab的基本内容

1.Gitlab的介绍

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 一个基于GIT的源码托管解决方案 基于Ruby on rails开发 集成了nginx postgreSQL redis sidekiq等组件

2.安装包下载和配置

1.wget -c https://packages.gitlab.cn/repository/el/9/gitlab-jh-17.1.8-jh.0.el9.x86_64.rpm

2.yum install gitlab-jh-17.1.8-jh.0.el9.x86_64.rpm

3.[root@slave3 gitlab]# vim /etc/gitlab/gitlab.rb:配置文件

在文件的96行添加以下内容来收发邮件
   gitlab_rails['gitlab_email_display_name'] = 'gitlab'
   gitlab_rails['gitlab_email_from'] = '123456789@qq.com'
   gitlab_rails['smtp_enable'] = true
   gitlab_rails['smtp_address'] = "smtp.qq.com"
   gitlab_rails['smtp_port'] = 465
   gitlab_rails['smtp_user_name'] = "123456789@qq.com"
   gitlab_rails['smtp_password'] = "授权码"
   gitlab_rails['smtp_domain'] = "smtp.qq.com"
   gitlab_rails['smtp_authentication'] = "login"
   gitlab_rails['smtp_enable_starttls_auto'] = false
   gitlab_rails['smtp_tls'] = true
   user["git_user_email"] = "123456789@qq.com"

4.重启服务

gitlab-ctl reconfigure

5.gitlab的命令

6.通过配置ip进行访问:

 登陆密码默认在此目录下,最多24小时

vim /etc/gitlab/initial_root_password

7.进行推送代码:假设给tom分配了任务,tom需要在linux中从root上进行拉取所需要的项目

(1)与root用户建立联系,从root中下载下来所需要的项目目录

git clone http://192.168.142.138/root/gitlab1.git

(2)创建首页分支,进行添加内容(实际中的代码)

[root@slave3 ~]# cd gitlab1/:进入通过git下载下来的项目文件内
[root@slave3 gitlab1]# git init:初始话git
[root@slave3 gitlab1]# git branch index:创建分支
[root@slave3 gitlab1]# git checkout index:进入分支
切换到分支 'index'
[root@slave3 gitlab1]# echo "my document" > index.html:将自己的代码放入文件
[root@slave3 gitlab1]# git add . :将内容添加到本地
[root@slave3 gitlab1]# git status:查看状态
位于分支 index
要提交的变更:
  (使用 "git restore --staged <文件>..." 以取消暂存)
        新文件:   index.html

[root@slave3 gitlab1]# git config user.name tom:添加用户自己
[root@slave3 gitlab1]# git config user.email 123@qq.com:添加邮件
[root@slave3 gitlab1]# git push origin index:进行添加index这个分支到主项目中

(3)再查看是否添加成功:

(4)进行合并分支

(5)选择合并请求下的分配,选择右上角的项目进行合并请求,在源分支添加上tom上传的index文件,目标分支填写上root的主文件进行比较合并

填写完上述内容后进行合并,项目经理则会收到代码合并的请求,最终由项目经理进行同意请求,则整个则为完成

拓展:如何进行免密推送:

1.添加一个本地的公钥

[root@slave3 .ssh]# ssh-keygen
[root@slave3 .ssh]# cat /root/.ssh/id_rsa.pub

2.将公钥上传到tom的密钥栏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/77417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中线程池的简单实现 -- 线程安全的日志模块,策略模式,线程池的封装设计,单例模式,饿汉式单例模式,懒汉式单例模式

目录 1. 对线程池的理解 1.1 基本概念 1.2 工作原理 1.3 线程池的优点 2. 日志与策略模式 2.1 日志认识 2.2 策略模式 2.2.1 策略模式的概念 2.2.2 工作原理 2.2 自定义日志系统的实现 3. 线程池设计 3.1 简单线程池的设计 3.2 线程安全的单例模式线程池的设计 3…

量子力学:量子通信

量子通信是利用量子力学原理对信息进行编码、传输和处理的新型通信方式&#xff0c;以下是其详细介绍及业界发展现状&#xff1a; 基本原理 量子叠加态 &#xff1a;量子系统可以处于多个状态的叠加&#xff0c;如光子的偏振方向可以同时处于水平和垂直方向的叠加态&#xff…

企业架构之旅(1):TOGAF 基础入门

大家好&#xff0c;我是沛哥儿。今天我们简单聊下TOGAF哈。 文章目录 一、TOGAF 是什么定义与核心定位发展历程与行业地位与其他架构框架的区别 二、TOGAF 核心价值企业数字化转型助力业务与 IT 的协同作用降本增效与风险管控 三、TOGAF 基础术语解析架构域&#xff08;业务、…

CSS 内容超出显示省略号

CSS 内容超出显示省略号 文章目录 CSS 内容超出显示省略号**1. 单行文本省略&#xff08;常用&#xff09;****2. 多行文本省略&#xff08;如 2 行&#xff09;****3. 对非块级元素生效****完整示例****注意事项** 在 CSS 中实现内容超出显示省略号&#xff0c;主要通过控制文…

路由器重分发(OSPF+RIP),RIP充当翻译官,OSPF充当翻译官

路由器重分发&#xff08;OSPFRIP&#xff09; 版本 1 RIP充当翻译官 OSPF路由器只会OSPF语言&#xff1b;RIP路由器充当翻译官就要会OSPF语言和RIP语言&#xff1b;则在RIP中还需要将OSPF翻译成RIPOSPF 把RIP路由器当成翻译官&#xff0c;OSPF路由器就只需要宣告自己的ip&am…

AlexNet网络搭建

AlexNet网络模型搭建 环境准备 首先在某个盘符下创建一个文件夹&#xff0c;就叫AlexNet吧&#xff0c;用来存放源代码。 然后新建一个python文件&#xff0c;就叫plot.py吧&#xff0c;往里面写入以下代码&#xff0c;用于下载数据集&#xff1a; # FashionMNIST里面包含了…

【计算机网络】网络基础概念

&#x1f4da; 博主的专栏 &#x1f427; Linux | &#x1f5a5;️ C | &#x1f4ca; 数据结构 | &#x1f4a1;C 算法 | &#x1f152; C 语言 | &#x1f310; 计算机网络 这是博主计算机网络的第一篇文章&#xff0c;本文由于是基础概念了解&#xff0c;引用了大…

在Spring Boot项目中实现Word转PDF并预览

在Spring Boot项目中实现Word转PDF并进行前端网页预览&#xff0c;你可以使用Apache POI来读取Word文件&#xff0c;iText或Apache PDFBox来生成PDF文件&#xff0c;然后通过Spring Boot控制器提供文件下载或预览链接。以下是一个示例实现步骤和代码&#xff1a; 1. 添加依赖 …

图解 Redis 事务 ACID特性 |源码解析|EXEC、WATCH、QUEUE

写在前面 Redis 通过 MULTI、EXEC、WATCH 等命令来实现事务功能。Redis的事务是将多个命令请求打包&#xff0c;然后一次性、按照顺序的执行多个命令的机制&#xff0c;并且在事务执行期间&#xff0c;服务器不会中断事务而该去执行其他客户端的命令请求。 就像下面这样&#…

LeetCode --- 446 周赛

题目列表 3522. 执行指令后的得分 3523. 非递减数组的最大长度 3524. 求出数组的 X 值 I 3525. 求出数组的 X 值 II 一、执行指令后的得分 照着题目要求进行模拟即可&#xff0c;代码如下 // C class Solution { public:long long calculateScore(vector<string>&…

山东大学软件学院项目实训-基于大模型的模拟面试系统-前端美化滚动条问题

模拟面试界面左侧底部 通过检查工具定位到其所在的位置&#xff1a; 直接对该组件进行美化&#xff1a; <!-- AI面试官列表 --><div class"ai-interviewer-section" v-show"activeTab interviewer"><el-scrollbar class"no-horizont…

git版本回退 | 远程仓库的回退 (附实战Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn 本身暂存区有多个文件&#xff0c;但手快了&…

什么事Nginx,及使用Nginx部署vue项目(非服务器Nginx压缩包版)

什么是 Nginx? Nginx(发音为 “engine-x”)是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。它以其高性能、高并发处理能力和低资源消耗而闻名。以下是 Nginx 的主要特性和用途: 主要特性 高性能和高并发 Nginx 能够处理大量并发连接,适合高…

第十六周蓝桥杯2025网络安全赛道

因为只会web&#xff0c;其他方向都没碰过&#xff0c;所以只出了4道 做出来的&#xff1a; ezEvtx 找到一个被移动的文件&#xff0c;疑似被入侵 提交flag{confidential.docx}成功解出 flag{confidential.docx} Flowzip 过滤器搜索flag找到flag flag{c6db63e6-6459-4e75-…

高性能的开源网络入侵检测和防御引擎:Suricata介绍

一、Debian下使用Suricata 相较于Windows&#xff0c;Linux环境对Suricata的支持更加完善&#xff0c;操作也更为便捷。 1. 安装 Suricata 在Debian系统上&#xff0c;你可以通过包管理器 apt 轻松安装 Suricata。 更新软件包列表: sudo apt update安装 Suricata: sudo apt …

IP-address-space

导航 (返回顶部) 1. IPv4地址分配表 1.2 IPv4 专用地址注册表1.3 各国IPv4地址分配列表 2. IPv6地址分配表 2.1 IANA IPv6 专用地址注册表2.2 IPv6 多播地址分配 1. IPv4地址分配表1.2 IPv4 专用地址注册表1.3 各国IPv4地址分配列表 2. IPv6地址分配表2.1 IANA IPv6 专用地址…

Ubuntu使用war包部署Jenkins并通过systemcl管理

目录 一、当前系统环境 二、安装Java 二、安装Jenkins 三、使用systemctl管理 一、当前系统环境 操作系统&#xff1a;ubuntu 24.04 Jenkins版本&#xff1a;2.506 格式&#xff1a;war JDK版本&#xff1a;OpenJDK_17 二、安装Java 1.下载jdk安装包 # wget下载 wget …

牛客 verilog入门 VIP

1、输出1 答案&#xff1a; timescale 1ns/1nsmodule top_module(output wire one );assign one 1b1; endmodule 2、wire连线 答案&#xff1a; timescale 1ns/1nsmodule wire0(input wire in0,output wire out1 );assign out1 in0; endmodule 3、多wire连线 timescale 1…

简易版2D我的世界C++程序(有点BUG,但是可以玩!!!)

1、按空格键来切换模式&#xff08;挖掘模式和放置模式&#xff09;&#xff0c;一律用鼠标右键来操作&#xff01;&#xff01;&#xff01; 2、按数字1和2键来切换放置的方块&#xff08;1是草&#xff0c;2是木&#xff09;&#xff0c;树叶不能放置&#xff01;&#xff01…

ubuntu使用dify源码安装部署教程+避坑指南

很多人,包括我在最初使用dify的时候都习惯使用docker来部署安装环境,但在二次开发使用过程中,我们可能希望使用源码来安装,那么这篇文章我将给大家分享如何在ubuntu系统下使用源码安装,并提供大家遇到的疑难杂症如下: dify安装使用过程中报错:/console/api/workspaces/…