常见的版本控制系统

一、Git

Git 是一个开源的分布式版本控制系统,用于有效、高速的处理版本控制,从很小到非常大的项目都支持。一个原始 Git 版本仓库,可以让其他主机克隆这个原始版本仓库,从而使得一个 Git 版本仓库可以同时分布到不同的主机上,并且每台主机的版本库都是一样的, 并没有主次之分,极大的保证了数据的安全性,并使得用户能够自主选择 Git 服务器推送文件。作为一个分布式的版本控制系统,在 Git 中并不存在主库这样的概念。每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而设计的一个开放源码的版本控制系统,是作为一种过渡方案用来替代 BitKeeper。BitKeeper 一直是 Linux 内核开发人员在全球使用的主要源代码工具。因为开放源码社区中有些人认为 BitKeeper 的许可证并不适合开放源码社区的工作,所以 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初研发 Git 的目的是为了辅助 Linux 内核开发,但目前在很多其他自由软件项目中也使用了 Git。

二、GitHub

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 可以提供给用户空间创建 Git 仓储,保存用户的一些数据文档或者代码等。GitHub 作为开源代码库以及版本控制系统,目前拥有 140 多万开发者用户。随着越来越多的应用程序转移到了云上,GitHub 已经成为了管理软件开发以及发现已有代码的首选方法。GitHub 可以托管各种 Git 库,并提供一个 Web 界面,但与其它像 SourceForge 或 Google Code 这样的服务不同,GitHub 的独特卖点在于从另外一个项目进行分支的简易性。

三、GitLab

GitLab 是一个基于 Git 的项目管理软件,用于仓库管理系统的开源项目。使用 Git 作为代码管理工具,并在此基础上搭建起来 Web 服务。Git、Gitlab、Github 都是基于 Git 的,可以说是 Git 的衍生品。

Git功能特性

  • 克隆数据库版本

  • 提交代码

  • 合并分支

  • 拉取合并分支

  • 代码冲突解决

了解 Git 和 Gitlab 仓库的部署及操作

资源列表

操作系统 配置 主机名/IP地址
CentOS 7.9 2C4G master/172.16.10.10
CentOS 7.9 2C4G client/172.16.10.11

基础环境

  • 关闭防火墙

 systemctl stop firewalldsystemctl disable firewalld
  • 关闭selinux

 sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/configreboot
  • 时间同步

 yum -y install chronysystemctl start chronydchronyc sources -v
  • 修改主机名

 hostnamectl set-hostname masterhostnamectl set-hostnmae client
  • 修改hosts文件

 cat >> /etc/hosts << EOF172.16.10.10 master172.16.10.11 clientEOF

一、git代码仓库部署操作

1.1 安装Git

  • 节点都要安装

 yum -y install git​# 创建仓库mkdir /root/httpd.git​# 创建用户并设置密码useradd gitecho "123456" |passwd --stdin git​# 设置属主属组chown -Rf /root/httpd.git​

1.2 设置免密

  • client端执行

 ssh-keygen​ssh-copy-id 172.16.10.10

1.3 测试上传代码

  • client端执行

 git clone http://172.16.10.10/root/httpd.git​cd /root/httpd​# 配置用户名称和电子邮件地址。每次 Git 提交时都会引用这两条信息,记录提交了文件的用户,并且会随更新内容一起被永久纳入历史记录。git config --global user.name "zhangsan"  ##定义用户git config --global user.email "root@kgc.com  ##定义邮箱# 查看变量git config --list​# 定义远程的 Git 服务器git remote add server root@172.16.10.10:/root/httpd.git​# 创建项目上传到Git服务器echo "This is a fiel" > readme.txtgit add readme.txtgit commit -m "add file"git push -u server master​

1.4 测试代码下载

  • client端执行

cd /root
mkdir test
cd /root/test
git clone http://172.16.10.10/root/httpd.git

二、Gitlab代码仓库部署操作

2.1 安装Gitlab

  • 服务端安装Gitlab,客户端需要使用git 命令,要安装git

  • 服务端安装Gitlab

# yum安装
##配置gitlab的yum源
vim /etc/yum.repos.d/gitlab-ce.repo //添加GitLab 源
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
================================================================
##清除缓存
yum clean all
##创建缓存
yum makecache
yum -y install gitlab-ce# tar 包安装
##上传 git-ce.tar.gz 包
##解压安装
tar zxf git-ce.tar.gz
cd git-ce/
yum -y localinstall *.rpm# 查看gitlab 服务状态
gitlab-ctl status
  • 客户端安装GIt

yum -y install git#配置用户名称和电子邮件地址。每次 Git 提交时都会引用这两条信息,记录提交了文件的用户,并且会随更新内容一起被永久纳入历史记录。
git config --global user.name "zhangsan"  ##定义用户
git config --global user.email "root@kgc.com  ##定义邮箱

2.2 修改配置文件

vim  /etc/gitlab/gitlab.rb
##筛选到 external_url ,设置域名或IP地址
external_url 'http://172.16.10.10'# 重新加载配置文件
gitlab-ctl reconfigure

2.3 登录web页面,创建项目

输入 服务端 IP地址:172.16.10.10 ,重置密码,登录用户为root,密码为重置密码

  • 创建项目

2.4 测试上传代码

  • client端执行

git clone http://172.16.10.10/root/kgc.gitcd /root/kgc
echo "This is a fiel" > readme.txt
git add readme.txt
git commit -m "add file"
git push -u origin master
Username for 'http://172.16.10.10':root    ##用户为 root
Password for 'http://root@172.16.10.10':yan123456  ##密码为 web端设置的密码

2.5 测试代码下载

  • client端执行

cd /root
mkdir test
cd /root/test
git clone http://172.16.10.10/root/kgc.git

了解代码管理系统Git相关产品相关推荐

  1. 介绍一个代码管理系统-Git

    Git是一个跨平台的代码管理系统,据说比SVN好很多,呵呵!! http://git.or.cz/  一个基于Git管理的代码共享网站 http://github.com/ 在windows下的客户端 ...

  2. 分布式代码管理系统Git实践

    1.1 版本管理工具介绍 什么是版本管理工具 为什么要使用版本管理工具? 老板要求小明写一个可行性报告,当他写完给老板看后,结果-- Git简介 早先linux内核代码托管在BitKeeper,这个东 ...

  3. 代码托管—Git 相关

    文档目录 概念简介 环境配置 Git配置 常规操作 分支管理 gitee关联 pycharm配置 vscode配置 概念简介 Git 简介 一种分布式的代码版本管理工具,使用 C 语言编写: Git下 ...

  4. 分布式代码管理系统GIT

    1.1Git安装 CentOS上   yum install -y epel-release; yum install git Ubuntu上    apt-get install git Windo ...

  5. git上传代码,合并代码,分支相关

    1.上传本地代码到git: (1)git remote add origin git@gitlab.zhongjiaxin.com:DaWang/wechat-waiwei-hunter-new.gi ...

  6. Git入门与使用 (三) 使用GitHub进行代码托管的相关操作

    文章目录 一.前言 二.使用GitHub进行代码托管的相关操作 1.推送本地仓库内容至远程仓库 2.克隆远程仓库内容至本地仓库 3.邀请他人加入项目团队 4.拉取远程仓库修改的内容 5.解决协同开发时 ...

  7. 主流SOA厂商和相关产品

    一.         SOA简介... 1<?xml:namespace prefix = o /> 二.         IBM.. 2 1.      收购历史... 2 2.     ...

  8. 零代码入门GitHub,图形化交互让你轻松存代码 | 附Git GUI推荐

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI 传说,程序员遇到火灾时有三个注意事项: 真的不能直接跑路吗? Git是目前世界上最流行的分布式版本控制系统,用上了它,就不必再面对这样的惨 ...

  9. repo,git相关命令使用

    ###git download [https://git-scm.com/downloads] #repo: repo命令参数: abandon Permanently abandon a devel ...

最新文章

  1. 灯三段调光原理_球泡灯中国能效标识怎么做,GB30255中国能效报告办理要求
  2. 浅谈微服务基建的逻辑
  3. 使用淘宝镜像cnpm安装Vue.js
  4. github使用_一文轻松学会GitHub的使用
  5. javascript基础07
  6. 设计模式原则总结--读《大话设计模式》有感 转
  7. Matlab矩阵填充--Matlab interp2
  8. ascii码01100001_ASCII编码和Unicode编码
  9. laravel的启动过程解析(转)
  10. 二分答案——yyy2015c01 的 U 盘(洛谷 P2370)
  11. 《推荐系统笔记(十四)》矩阵分解(MF)以及基于矩阵分解的topN推荐
  12. 人物关系图谱:ECharts 实现
  13. springboot缓存注解——@Cacheable和@CacheConfig
  14. VMware Player 4.0.2 英文官方原版
  15. broadcom linux网卡驱动下载,Broadcom Bcm57xx芯片网卡驱动Linux下安装方法
  16. 构建Spring Cloud项目找不到Application类
  17. 51单片机间接寻址C语言,51单片机的寻址方式
  18. ubuntu系统压力测试工具--stress
  19. 华为交换机RRPP环协议
  20. FastAPI简单示例

热门文章

  1. uni-app 微信小程序 选取地区取到区
  2. 【SQL Server 还原数据库】:因为数据库正在使用,所以无法获得对数据库的独占访问权
  3. ❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(十二)—— 向日葵生产太阳
  4. EPICS记录参考5 -- 数组模拟输入记录Array Analog Input (aai)
  5. 输入一个四位数字x,分别求出x的个位数字、十位数字、百位数字和千位数字的值 ,并求个位、十位、百位、千位的和 -C语言
  6. ubuntu 双屏显示的设置
  7. Linux Ubuntu 鼠标变为十字架锁死解决办法
  8. mobi转为html,MOBI to HTML
  9. 2023年全国最新二级建造师精选真题及答案2
  10. 制作自动添加IE信任站点运行文件