②Git仓库之三大仓库、gitlab仓库、全网最细

2024-04-04 12:38

本文主要是介绍②Git仓库之三大仓库、gitlab仓库、全网最细,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 三大仓库概念理解
    • 部署gitlab服务
    • 创建新项目
    • 任何一台服务器上面 克隆 仓库
    • 修改文件上传远程仓库
    • 上传远程仓库 标签,标签,超级好用
    • 添加gitlab用户设置权限
    • 调整上传文件的大小
    • Gitlab 备份与恢复
    • 数据备份
      • 数据恢复

三大仓库概念理解

Gitlab 是一个自己搭建的仓库 可以设置私有和公开,可以给权限

Gitiee 是一个国内的开源仓库,可以设置私有和公开

Github 是国外的开源仓库 ,外网的网速慢

会一个 其他俩个全部操作都是一样的

部署gitlab服务

准备环境: 关闭防火墙和selinux

192.168.246.214  #gitlab服务器

1.配置yum源
[root@git-server ~]# cd /etc/yum.repos.d/
[root@git-server yum.repos.d]# vi gitlab-ce.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever
gpgcheck=0
enabled=1

安装相关依赖
邮箱设置就下载 不设置就可以不用下载

yum install -y postfix curl policycoreutils-python openssh-server
[root@git-server yum.repos.d]# yum install -y postfix curl policycoreutils-python openssh-server
[root@git-server yum.repos.d]# systemctl enable sshd
[root@git-server yum.repos.d]# systemctl start sshd
安装postfix
[root@git-server yum.repos.d]# yum install postfix  -y   #安装邮箱
[root@git-server yum.repos.d]# systemctl enable postfix
[root@git-server yum.repos.d]# systemctl start postfix
[root@git-server yum.repos.d]# yum install -y gitlab-ce  #将会安装gitlab最新版本

配置gitlab登录链接

[root@git-server ~]# vim /etc/gitlab/gitlab.rb
1.# 添加对外的域名(gitlab.papamk.com请添加A记录指向本服务器的公网IP):将原来的修改为
external_url 'http://192.168.246.214'
2.设置地区
gitlab_rails['time_zone'] = 'Asia/Shanghai'

在这里插入图片描述
在这里插入图片描述
将数据路径的注释去掉,可以更改
在这里插入图片描述
备份文件注释打开
在这里插入图片描述
开启ssh服务:
在这里插入图片描述
初始化Gitlab:

[root@git-server ~]# gitlab-ctl reconfigure   #重新加载,需要等很长时间

在这里插入图片描述
在这里插入图片描述

启动Gitlab服务:

[root@git-server ~]# gitlab-ctl start  #启动

在这里插入图片描述
Gitlab 设置 HTTPS 方式

如果想要以上的 https 方式正常生效使用,则需要把 letsencrypt 自动生成证书的配置打开,这样在执行重
新让配置生效命令 (gitlab-ctl reconfigure) 的时候会自动给域名生成免费的证书并自动在 gitlab 自带的nginx 中加上相关的跳转配置,都是全自动的,非常方便。
letsencrypt['enable'] = true 
letsencrypt['contact_emails'] = ['caryyu@qq.com']     # 这应该是一组要添加为联系人的电子邮件地址

测试访问:http://192.168.246.214
在这里插入图片描述
用户为:root

密码:本人设置的密码是12345678
在这里插入图片描述

创建新项目

在这里插入图片描述
在这里插入图片描述
进行克隆文件,需要配置公钥
在这里插入图片描述
在这里插入图片描述
需要创建秘钥,在任何一个服务器上都可以生成秘钥
在这里插入图片描述

在这里插入图片描述
配置公钥 ,哪一个服务器想要拉取代码,就先生成一个秘钥,把公钥复制然后粘贴上来
客户端操作

[root@client ~]# ssh-keygen
[root@client ~]# cd .ssh/
[root@client .ssh]# ls 
[root@client .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0HeO8gaua13h9HCJK5RXVc/cjet9DpLYq2dqmQ0LXfP0Vwj6YjKxu7lE1i/4Y2cmu5lDe8bG22aikyaW38Fnz0bkGfEurdVZii/KCiHBz2lXS1ocuAdloJT4wnc2MUjh/gwc4FuNkWdYvpbMLXSSHIVjv8vB9YbHlPMTMy5N89kMwMmta5C87/8fBO5VtGijgGOueywM+xAzovlfoJbprV/ZBKkhiskSKz4fHyoGFGwllX3kMkNR/soGF5XXA+/99iO3UqSaloF0UzfUCgqfMfMVB5zDHGIB6uTrMe6ccfKp9gnVyD7m4Zmk7MwouBwAfMLIiHmvekBGXqb1YCTgJ root@client

在这里插入图片描述
需要更换就添加这里
在这里插入图片描述

任何一台服务器上面 克隆 仓库

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

准备:
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。

 # git config --global user.email "soho@163.com"     ----设置邮箱# git config --global user.name "soho"                   ----加添用户# cat /root/.gitconfig# git config --global color.ui true		#语法高亮# git config --list			#查看全局配置

在这里插入图片描述
ssh克隆 复制好了 语法

git clone git@196.196.196.66:root/ming.git

在这里插入图片描述
http克隆 复制好了 语法

git clone http://196.196.196.66/root/ming.git

在这里插入图片描述

修改文件上传远程仓库

创建一个文件上传远程仓库

[root@ming-5 ming]# echo "测试创建文件" > b.txt
[root@ming-5 ming]# ls
a.txt  b.txt  edg  linux命令大全.txt
[root@ming-5 ming]# git add *
[root@ming-5 ming]# git commit -m "描述信息"[root@ming-5 ming]# git push origin master

在这里插入图片描述
远程仓库查看
在这里插入图片描述
在这里插入图片描述
上传文件的几种方式
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

上传远程仓库 标签,标签,超级好用

在任何一台客户端都可以操作

[root@ming-5 ming]# git add *
[root@ming-5 ming]# git commit -m "v2.0"
[root@ming-5 ming]# git tag -a "v2.0" -m "v2.0"
[root@ming-5 ming]# git checkout v2.0
[root@ming-5 ming]# git push origin v2.0
[root@ming-5 ming]# git checkuot master

在这里插入图片描述
主仓库上面查看 一下有没有标签
在这里插入图片描述
其他人拉取代码正常拉取
只是拉取完没有显示标签的内容 需要切换到标签分支

添加gitlab用户设置权限

创建新用户
在这里插入图片描述
在root账户上面 给其他用户权限
在这里插入图片描述

在这里插入图片描述
设置完 其他用户登录上去就可以看到你的项目

在这里插入图片描述

调整上传文件的大小

在这里插入图片描述
在这里插入图片描述
默认是10M,可根据情况调整
在这里插入图片描述

Gitlab 备份与恢复

1、查看系统版本和软件版本

[root@git-server ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)[root@git-server ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.15.4

数据备份

打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:

[root@git-server backups]# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"	#备份的路径
gitlab_rails['backup_archive_permissions'] = 0644		#备份文件的默认权限
gitlab_rails['backup_keep_time'] = 604800				#保留时长,秒为单位

设置备份保留时常,防止每天执行备份,肯定有目录被爆满的风险,打开/etc/gitlab/gitlab.rb配置文件,找到如下配置

该项定义了默认备份出文件的路径,可以通过修改该配置,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。

[root@git-server backups]# gitlab-ctl reconfigure
或者  最常用的就是第一个
[root@git-server backups]# gitlab-ctl  restart

执行备份命令进行备份
备份命令 gitlab:backup:create

[root@git-server backups]# /opt/gitlab/bin/gitlab-rake gitlab:backup:create 

在这里插入图片描述
也可以添加到 crontab 中定时执行:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

可以到/var/opt/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。

备份完成,会在备份目录中生成一个当天日期的tar包。

[root@git-server ~]# ll /var/opt/gitlab/backups/

在这里插入图片描述

数据恢复

特别注意:

  • 备份目录和gitlab.rb中定义的备份目录必须一致
  • GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。

**在恢复之前,可以删除一个文件,以便查看效果
在这里插入图片描述
执行恢复操作:
恢复backup:restore BACKUP=

[root@git-server ~]# cd /var/opt/gitlab/backups
[root@git-server  backups]# gitlab-rake gitlab:backup:restore BACKUP=1588700546_2020_05_06_12.6.3
注意恢复文件的名称,不要全部复制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恢复完成后,启动刚刚的两个服务,或者重启所有服务,再打开浏览器进行访问,发现数据和之前的一致:

注意:通过备份文件恢复gitlab必须保证两台主机的gitlab版本一致,否则会提示版本不匹配

查看gitlab端,可以看到数据恢复成功
在这里插入图片描述

这篇关于②Git仓库之三大仓库、gitlab仓库、全网最细的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875798

相关文章

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓