初次認(rèn)識(shí) Git (v2.x)
什么是版本控制?
-
版本控制,也稱為源代碼控制,是一種跟蹤和管理軟件代碼變更的實(shí)踐。版本控制系統(tǒng)是軟件工具,可幫助軟件團(tuán)隊(duì)管理源代碼隨時(shí)間推移而發(fā)生的變更。隨著開(kāi)發(fā)環(huán)境的加速,版本控制系統(tǒng)可以幫助軟件團(tuán)隊(duì)更快、更智能地工作。它們對(duì)于 DevOps 團(tuán)隊(duì)特別有用,因?yàn)樗鼈兛梢詭椭搱F(tuán)隊(duì)縮短開(kāi)發(fā)時(shí)間并提高部署成功率。
-
版本控制軟件在特殊類型的數(shù)據(jù)庫(kù)中跟蹤對(duì)代碼的每一次修改。如果犯了錯(cuò)誤,開(kāi)發(fā)人員可以回退并比較代碼的早期版本,以幫助修復(fù)錯(cuò)誤,同時(shí)最大限度地減少對(duì)所有團(tuán)隊(duì)成員的干擾。
優(yōu)勢(shì):
- 每個(gè)文件的完整長(zhǎng)期變更歷史記錄。
- 分支和合并。
- 可追溯性。
概述 Git 基礎(chǔ)知識(shí)
-
Git 是一個(gè)免費(fèi)的開(kāi)源版本控制系統(tǒng),采用分布式架構(gòu),最初由 Linus Torvalds 于 2005 年創(chuàng)建。與早期的集中版本控制系統(tǒng)(比如 SVN 和 CVS)不同,Git 是分布式的:每個(gè)開(kāi)發(fā)人員在本地都有代碼庫(kù)的完整歷史記錄。雖然這會(huì)使得代碼庫(kù)的初始克隆速度變慢,但會(huì)顯著加快后續(xù)操作(比如提交、找錯(cuò)、比對(duì)、合并和日志記錄)的速度。
-
Git 還為創(chuàng)建代碼庫(kù)歷史記錄分支以及合并和重寫(xiě)代碼庫(kù)歷史記錄提供卓越的支持,這已經(jīng)帶來(lái)了許多創(chuàng)新且功能強(qiáng)大的工作流和工具。拉取請(qǐng)求就是此類受歡迎的工具之一,它使團(tuán)隊(duì)能夠在 Git 分支上進(jìn)行協(xié)作,并有效地檢查彼此的代碼。Git 是當(dāng)今世界使用最廣泛的版本控制系統(tǒng),被視為現(xiàn)代軟件開(kāi)發(fā)標(biāo)準(zhǔn)。
Git 的工作原理
以下是對(duì) Git 工作原理的基本概述:
- 使用 Git 托管工具(比如 Bitbucket)創(chuàng)建“倉(cāng)庫(kù)”(項(xiàng)目)
- 將 Git 倉(cāng)庫(kù)復(fù)制(或克隆)到本地計(jì)算機(jī)
- 向本地倉(cāng)庫(kù)添加文件,然后“提交”(保存)更改
- 將變更“推送”到主分支
- 使用 Git 托管工具更改文件,并提交
- 將更改“拉取”到本地計(jì)算機(jī)
- 創(chuàng)建“分支”(版本),進(jìn)行更改,提交更改
- 打開(kāi)“拉取請(qǐng)求”(建議對(duì)主分支進(jìn)行變更)
- 將您的分支“合并”到主分支
安裝 Git
準(zhǔn)備環(huán)境
[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安裝
# 系統(tǒng)默認(rèn)版本
[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 改成對(duì)應(yīng)的版本號(hào)即可,具體版本可以看 git 代碼庫(kù)中的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 # 若報(bào)錯(cuò),則執(zhí)行 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
# 設(shè)置環(huán)境變量
[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
Git 命令思維導(dǎo)圖

出處:http://www.rzrgm.cn/zhangwencheng
版權(quán):本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出 原文鏈接
浙公網(wǎng)安備 33010602011771號(hào)