Git 构建分布式版本控制系统

一、版本控制系统

1.本地版本控制系统

        本地版本控制系统(Local Version Control System)是一种用于跟踪和管理代码变更的软件工具,它仅限于在单个计算机上使用。与分布式版本控制系统不同,本地版本控制系统没有多个副本和协作功能,它仅用于在本地管理和追踪代码的变化。一些常见的本地版本控制系统包括RCS(Revision Control System)和SCCS(Source Code Control System)。这些系统通常适用于个人开发者或小型项目,不需要多人协作和远程访问的情况。

                      Git 构建分布式版本控制系统_第1张图片 

2.集中化的版本控制系统

        集中化的版本控制系统(Centralized Version Control System)是一种用于跟踪和管理代码变更的软件工具。与分布式版本控制系统不同,集中化的版本控制系统将代码库集中存储在一个中央服务器上,开发人员需要连接到该服务器来进行工作和提交更改。常见的集中化版本控制系统包括SVN(Subversion)和Perforce。这些系统在协作和版本控制方面相对较简单,适用于小型团队或项目。然而,由于依赖于中央服务器,当服务器不可用时,开发人员可能无法进行操作。

                 Git 构建分布式版本控制系统_第2张图片 

3.分布式版本控制系统

        分布式版本控制系统(Distributed Version Control System)是一种用于跟踪和管理代码变更的软件工具。它允许多个开发人员在不同的位置同时工作,并能够有效地协同开发和合并代码。常见的分布式版本控制系统包括Git和Mercurial。这些系统通过在每个开发人员的本地计算机上创建完整的代码副本,使得开发人员可以在离线状态下工作,并在需要时将其更改合并到主代码库中。

                 Git 构建分布式版本控制系统_第3张图片 

参考地址:https://github.com/progit/progit2-zh/releases/download/2.1.62/progit.pdf

二、Git 与 SVN 区别

        Git和SVN是两种常见的版本控制系统,它们在设计和工作原理上有一些区别。

  1. 分布式 vs 集中式:Git是一种分布式版本控制系统,每个开发人员都拥有完整的代码仓库副本,可以在本地进行工作和提交更改。而SVN是一种集中式版本控制系统,开发人员需要连接到中央代码仓库来进行工作和提交更改。
  2. 分支管理:Git在分支管理方面更加强大和灵活。每个开发人员可以轻松地创建、合并和删除分支,而SVN的分支管理相对较复杂。
  3. 性能:由于Git是分布式的,每个开发人员都有完整的代码副本,因此在提交、查看历史记录和切换分支等操作上通常比SVN更快速。
  4. 安全性:Git的代码仓库具有完整的历史记录和完整性校验,使得数据更加安全。而SVN的中央代码仓库可能成为单点故障。
  5. 分享和协作:Git通过远程仓库的推送和拉取机制,使得多个开发人员可以轻松地分享和协作。SVN则需要通过中央代码仓库来共享和同步更改。

三、Gitlab 部署 

        GitLab是一个基于Web的开源代码托管平台,用于版本控制和协作开发。它提供了一个完整的工具套件,包括代码仓库管理、问题跟踪、持续集成/持续交付(CI/CD)、代码审查、项目管理和团队协作等功能。

1.系统要求

 受支持的Unix衍生版  :

  • Ubuntu
  • Debian
  • CentOS
  • Red Hat Enterprise Linux (使用CentOS的包和命令)
  • Scientific Linux (使用CentOS的包和命令)
  • Oracle Linux (使用CentOS的包和命令)

 不受支持的Unix衍生版:

  • OS X
  • Arch Linux
  • Fedora
  • Gentoo
  • FreeBSD

上面这些不受支持的Unix衍生版也可以自己手动编译安装GitLab。

2.官方网站

GitLab下载安装_GitLab最新中文免费版下载安装-极狐GitLab


Git 构建分布式版本控制系统_第4张图片

3. 安装和配置必须的依赖项

[root@localhost ~]# yum install curl policycoreutils openssh-server openssh-clients
[root@localhost ~]# systemctl enable sshd
[root@localhost ~]# systemctl start sshd
[root@localhost ~]# yum install postfix
[root@localhost ~]# systemctl enable postfix
[root@localhost ~]# systemctl start postfix
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

4.下载/安装极狐GitLab

centos 7 rpm包下载链接:

https://packages.gitlab.cn/repository/el/7/gitlab-jh-16.3.2-jh.0.el7.x86_64.rpm

下载完成上传到服务器后进行安装:

[root@localhost ~]# yum -y install gitlab-jh-16.3.2-jh.0.el7.x86_64.rpm

安装成功后会看到gitlab-jh打印了以下图形

           Git 构建分布式版本控制系统_第5张图片 

[root@localhost ~]# gitlab-ctl reconfigure                          #自动配置文件,安装数据库

5.访问极狐GitLab 实例并登录 

        除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名 root 登录。

 修改默认密码:

Git 构建分布式版本控制系统_第6张图片

Git 构建分布式版本控制系统_第7张图片

Git 构建分布式版本控制系统_第8张图片 修改完成之后,重新登陆。

设置中文界面:

Git 构建分布式版本控制系统_第9张图片

你可能感兴趣的:(git,分布式)