什麼是版本控制?
-
版本控制,也稱為原始碼控制,是一種跟蹤和管理軟體程式碼變更的實踐。版本控制系統是軟體工具,可幫助軟體團隊管理原始碼隨時間推移而發生的變更。隨著開發環境的加速,版本控制系統可以幫助軟體團隊更快、更智慧地工作。它們對於 DevOps 團隊特別有用,因為它們可以幫助該團隊縮短開發時間並提高部署成功率。
-
版本控制軟體在特殊型別的資料庫中跟蹤對程式碼的每一次修改。如果犯了錯誤,開發人員可以回退並比較程式碼的早期版本,以幫助修復錯誤,同時最大限度地減少對所有團隊成員的干擾。
優勢:
- 每個檔案的完整長期變更歷史記錄。
- 分支和合並。
- 可追溯性。
概述 Git 基礎知識
-
Git 是一個免費的開源版本控制系統,採用分散式架構,最初由 Linus Torvalds 於 2005 年建立。與早期的集中版本控制系統(比如 SVN 和 CVS)不同,Git 是分散式的:每個開發人員在本地都有程式碼庫的完整歷史記錄。雖然這會使得程式碼庫的初始克隆速度變慢,但會顯著加快後續操作(比如提交、找錯、比對、合併和日誌記錄)的速度。
-
Git 還為建立程式碼庫歷史記錄分支以及合併和重寫程式碼庫歷史記錄提供卓越的支援,這已經帶來了許多創新且功能強大的工作流和工具。拉取請求就是此類受歡迎的工具之一,它使團隊能夠在 Git 分支上進行協作,並有效地檢查彼此的程式碼。Git 是當今世界使用最廣泛的版本控制系統,被視為現代軟體開發標準。
Git 的工作原理
以下是對 Git 工作原理的基本概述:
- 使用 Git 託管工具(比如 Bitbucket)建立“倉庫”(專案)
- 將 Git 倉庫複製(或克隆)到本地計算機
- 向本地倉庫新增檔案,然後“提交”(儲存)更改
- 將變更“推送”到主分支
- 使用 Git 託管工具更改檔案,並提交
- 將更改“拉取”到本地計算機
- 建立“分支”(版本),進行更改,提交更改
- 開啟“拉取請求”(建議對主分支進行變更)
- 將您的分支“合併”到主分支
安裝 Git
準備環境
[root@GitServer ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@GitServer ~]# uname -r
3.10.0-1160.el7.x86_64
[root@GitServer ~]# setenforce 0
[root@GitServer ~]# sed -i.bak '7s/enforcing/disabled/' /etc/selinux/config
[root@GitServer ~]# systemctl stop firewalld
[root@GitServer ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@GitServer ~]# firewall-cmd --state
not running
YUM安裝
# 系統預設版本
[root@GitServer ~]# yum install git
[root@GitServer ~]# git --version
git version 1.8.3.1
# 安裝最新版本Git
[root@GitServer ~]#yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
[root@GitServer ~]# yum install git
[root@GitServer ~]# git --version
git version 2.41.0
編譯安裝
# 移除舊版本
[root@GitServer ~]# yum remove git
[root@GitServer ~]# yum remove git-*
[root@GitServer ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
# 下載原始碼
# 這裡可以替換成我們想要下載的版本,只需將v2.34.1 改成對應的版本號即可,具體版本可以看 git 程式碼庫中的tags:
[root@GitServer ~]# export VERSION="2.34.1"
[root@GitServer ~]# wget https://github.com/git/git/archive/v${VERSION}.tar.gz
# 編譯安裝
[root@GitServer ~]# tar -xvf v2.34.1.tar.gz
[root@GitServer ~]# cd git-2.34.1
[root@GitServer git-2.34.1]# make configure # 若報錯,則執行 yum install autoconf automake -y
[root@GitServer git-2.34.1]# ./configure --prefix=/usr/local/git/
[root@GitServer git-2.34.1]# make && make install
# 設定環境變數
[root@GitServer ~]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile.d/git.sh
[root@GitServer ~]# source /etc/profile.d/git.sh
[root@GitServer ~]# git --version
git version 2.34.1