②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

相关文章

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仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

如何删除不小心上传到git远程仓库中的.idea .iml文件

如果在开始的时候不配置,gitignore文件或者文件配置不正确,初始化上传的时候就会有一些不必要的信息上传上去 如果已经存在了一些文件在git远程仓库中,如。idea,.iml文件等。 首先在项目中定义一个  .gitignore文件,简单的实例如下也可以用idea中的gitignore插件 .DS_Storeclasses/*.settings/target/.classpath