一、版本控制系统
1.本地版本控制系统
本地版本控制系统(Local Version Control System)是一种用于跟踪和管理代码变更的软件工具,它仅限于在单个计算机上使用。与分布式版本控制系统不同,本地版本控制系统没有多个副本和协作功能,它仅用于在本地管理和追踪代码的变化。一些常见的本地版本控制系统包括RCS(Revision Control System)和SCCS(Source Code Control System)。这些系统通常适用于个人开发者或小型项目,不需要多人协作和远程访问的情况。
2.集中化的版本控制系统
集中化的版本控制系统(Centralized Version Control System)是一种用于跟踪和管理代码变更的软件工具。与分布式版本控制系统不同,集中化的版本控制系统将代码库集中存储在一个中央服务器上,开发人员需要连接到该服务器来进行工作和提交更改。常见的集中化版本控制系统包括SVN(Subversion)和Perforce。这些系统在协作和版本控制方面相对较简单,适用于小型团队或项目。然而,由于依赖于中央服务器,当服务器不可用时,开发人员可能无法进行操作。
3.分布式版本控制系统
分布式版本控制系统(Distributed Version Control System)是一种用于跟踪和管理代码变更的软件工具。它允许多个开发人员在不同的位置同时工作,并能够有效地协同开发和合并代码。常见的分布式版本控制系统包括Git和Mercurial。这些系统通过在每个开发人员的本地计算机上创建完整的代码副本,使得开发人员可以在离线状态下工作,并在需要时将其更改合并到主代码库中。
参考地址:https://github.com/progit/progit2-zh/releases/download/2.1.62/progit.pdf
二、Git 与 SVN 区别
Git和SVN是两种常见的版本控制系统,它们在设计和工作原理上有一些区别。
- 分布式 vs 集中式:Git是一种分布式版本控制系统,每个开发人员都拥有完整的代码仓库副本,可以在本地进行工作和提交更改。而SVN是一种集中式版本控制系统,开发人员需要连接到中央代码仓库来进行工作和提交更改。
- 分支管理:Git在分支管理方面更加强大和灵活。每个开发人员可以轻松地创建、合并和删除分支,而SVN的分支管理相对较复杂。
- 性能:由于Git是分布式的,每个开发人员都有完整的代码副本,因此在提交、查看历史记录和切换分支等操作上通常比SVN更快速。
- 安全性:Git的代码仓库具有完整的历史记录和完整性校验,使得数据更加安全。而SVN的中央代码仓库可能成为单点故障。
- 分享和协作: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
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打印了以下图形
[root@localhost ~]# gitlab-ctl reconfigure #自动配置文件,安装数据库
5.访问极狐GitLab 实例并登录
除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure
自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名 root
登录。
修改默认密码:
修改完成之后,重新登陆。
设置中文界面: