案例加解析!帶你總結Git常用操作命令

本篇文章給大家帶來了關于git的相關知識,其中主要通過案例加解析給大家總結了git常用的操作命令,git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目,希望對大家有幫助。

案例加解析!帶你總結Git常用操作命令

推薦學習:《git

一、Git 概念

Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目,是目前最流行的一個版本管理工具。

二、SVN與Git的最主要的區別

SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而干活的時候,用的都是自己的電腦,所以首先要從中央服務器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工作,如果在局域網還可以,帶寬夠大,速度夠快,如果在互聯網下,如果網速慢的話,就納悶了。

Git是分布式版本控制系統,那么它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

三、Windows 上安裝 Git

最早Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到了Windows上。現在,Git可以在Linux、Unix、Mac和Windows這幾大平臺上正常運行了。

1. 下載Git

要使用Git,第一步當然是安裝Git了。從 https://git-for-windows.github.io下載(網速慢的請移步國內鏡像),然后按默認選項安裝即可。

2. 安裝步驟

下載完成后,打開進行安裝(按照下圖進行配置)。
案例加解析!帶你總結Git常用操作命令

3. 安裝成功

接下來就只需要靜靜的等待安裝完成了,完成以后在桌面或者任意文件夾的空白位置右鍵,出現下圖所示的兩個菜單欄即表示安裝成功。

案例加解析!帶你總結Git常用操作命令

4. 設置

安裝完之后會彈出一個命令框,我們還需要做最后一步操作,設置標識符。由于 git 是分布式管理工具,所以需要設置用戶名和郵箱作為標識。在彈出框中輸入下面代碼即可。

git config --global user.name "Your Name"git config --global user.email "email@example.com"

注意git config –global 參數,有了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然你也可以對某個倉庫指定的不同的用戶名和郵箱。

四、GIt 常用命令解析

1. 初始化

對 Git 進行操作之前你得先創建一個 Git 倉庫,在你需要的位置創建一個空文件夾即可。然后進入該文件夾,然后右擊空白處,點擊 Git Bash Here 對當前文件夾進行 Git 的操作。
案例加解析!帶你總結Git常用操作命令
案例加解析!帶你總結Git常用操作命令

  • 初始化命令
git init
  • 常用命令
cd:進入某個目錄 mkdir:創建一個文件 pwd:顯示當前的目錄路徑 鼠標選中就是復制,粘貼可以右鍵粘貼,也可以用使用快捷鍵:Shift+INS

2. 添加文件到版本庫

2.1 添加到暫存區

  1. 在根目錄新建了一個 a.txt 文件,內容為 aaa;
  2. 使用下面命令把 a.txt 文件添加到暫存區
  • 添加到暫存區命令
git add a.txt

案例加解析!帶你總結Git常用操作命令

  • 添加當前根目錄下的所有文件到暫存區
git add .

2.2 提交到倉庫

  1. 使用下面命令把暫存區的文件提交到版本庫
git commit -m "雙引號里面是注釋——你的提交說明"

案例加解析!帶你總結Git常用操作命令

2.3 為什么 Git 添加文件需要 add、commit 兩個步驟呢?

原因commit可以一次提交很多文件,所以你可以多次add不同的文件

例如

git add file1.txt					 #單個添加文件到暫存區git add file2.txt file3.txt			 #多個添加文件到暫存區git add .   						 #添加當前文件夾下所有文件到暫存區git commit -m "add 3 files."		 #提交所有暫存區的文件

3 查看文件狀態(檢查是否有未提交文件)

3.1 狀態一

使用下面命令檢查當前文件狀態

git status

案例加解析!帶你總結Git常用操作命令
結果:沒有需要提交的文件了;

3.2 狀態二

創建一個新的文件 b.txt,內容為 bbb,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果存在未跟蹤文件沒有添加到暫存區和提交到版本庫;

3.3 狀態三

添加 b.txt 到暫存區之后,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果暫存區中有一個新的 b.txt 文件沒有添加到版本庫中;

3.4 狀態四

提交 b.txt 到版本庫之后,然后把 b.txt 內容從 bbb 修改為 bbba,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果被改變的文件 b.txt 沒有添加到暫存區且沒有提交

4. 查看提交歷史

4.1 先把前面修改的 b.txt 文件添加并提交

git add b.txtgit commit -m "提交修改的 b.txt 文件"

案例加解析!帶你總結Git常用操作命令

4.2 查看歷史

  1. 到目前為止我們一共進行了3次操作,提交 a 和 b,以及修改 b,查看歷史命令如下
git log

案例加解析!帶你總結Git常用操作命令
注意使用上面命令信息多的話會進入 log 模式,想要退出,在英文輸入法的前提下按 q 就可以退出了

  1. 如上圖所示,每次提交都有版本號,時間等信息,這樣看起來比較亂,出現的信息太多,看的眼花,我們可以使用下面命令得到精簡版的日志記錄,讓歷史記錄一行顯示
git log --pretty=oneline

案例加解析!帶你總結Git常用操作命令

  1. 可以對想要查看的歷史日志進行約束,比如想看最近提交的一條歷史日志信息
git log -1

案例加解析!帶你總結Git常用操作命令

4.3 查看提交歷史命令總結

git log						 #查看全部歷史提交記錄git log --pretty=oneline	#精簡顯示所有歷史提交記錄git reflog					 #可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)git log -p					 #查看全部提交歷史并展示每次修改的內容git log -2					 #查看最近2次提交歷史(注意:后面的數字是可以自定義的,也就是說,這種寫法是 git log -n 的體現)git log -p -2				 #查看最近2次提交歷史并展示修改的內容git log --stat				 #查看提交歷史,并展示摘要內容(摘要會列出修改的文件以及每個文件中修改了多少行)

5. 版本回退與恢復

5.1 回退到上一個版本或上幾個版本

  1. 首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
git reset --hard HEAD^

案例加解析!帶你總結Git常用操作命令

  1. 查看回退后的歷史版本信息
    案例加解析!帶你總結Git常用操作命令
    結果從歷史版本信息我們可以看出,我們已經從 “修改 b.txt” 回退到了 “提交 b.txt”,回退之后的當前版本為 “提交 b.txt”

5.2 回退到指定版本

  1. 我們直接復制想要回退位置的版本號,使用下面代碼就可以回退到復制的版本號的位置了
git reset --hard <想要回退的版本號>
  1. 例如:我復制 “提交 a.txt 文件” 的版本號
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b

案例加解析!帶你總結Git常用操作命令
結果從查看的歷史版本結果可以看出我們回退到了 “提交 a.txt” 版本

5.3 恢復回退的版本

  1. 有時候我們回退了版本后反悔了,想要返回到回退版本之前,這時我們就需要找到之前的 commit id,但是從上面的查看歷史版本命令可以看出,我們找不到之前的 commit id 了,于是我們可以使用下面命令
git reflog

案例加解析!帶你總結Git常用操作命令

結果reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)

  1. 假設我們想回退到 “提交修改的 b.txt 文件” 的位置上,也就是歷史版本信息的倒數第三行,我們只需要復制 HEAD 前面的 7a42e7b,然后使用下面命令就可以了
git reset --hard 7a42e7b

案例加解析!帶你總結Git常用操作命令

結果歷史版本信息可以看出我們已經回退到了我們想要的版本

6. 查看不同版本的差異

  1. 當我們們修改完代碼之后沒有添加到暫存區提交,第二天我們忘記了昨天改了什么代碼,這是我們就可以按下面步驟來看不同版本之間的差異;

例如:我們把 b.txt 文件內容修改為為 bbbaaa,然后用下面代碼查看,可以看出我們修改了什么

git diff		# 查看不同版本之間的文件差異

案例加解析!帶你總結Git常用操作命令

7. 修改與撤銷

7.1 修改文件

推薦使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit

注意建議每次 commit 之前先檢查是否有文件沒有被 add

7.2 撤銷修改

git checkout -- filename

git checkout — filename可以丟棄工作區的修改:– 后面是一個空格

命令 git checkout — readme.txt 意思就是,把 readme.txt 文件在工作區的修改全部撤銷,這里有兩種情況:
一:readme.txt 自修改后還沒有被放到暫存區(git add),現在,撤銷修改就回到和版本庫一模一樣的狀態;
二:readme.txt 已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。

總之,就是讓這個文件回到最近一次 git commit 或 git add 時的狀態。

注意git checkout — file 命令中的 — 很重要,沒有 — ,就變成了**“切換到另一個分支”**的命令,我們在后面的分支管理中會再次遇到 git checkout 命令

8. 刪除文件/緩存

8.1 使用 rm 命令刪除文件

通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪除,例如:刪除 b.txt

git rm b.txt

刪除步驟

  • rm 刪除文件
  • rm 刪除后會自動添加到暫存區,省略了手動 add 命令
  • 最后進行 commit 提交,文件被刪除
    案例加解析!帶你總結Git常用操作命令
    注意刪除步驟可以通過 reset 撤銷操作撤回

8.2 刪除緩存區

git rm b.txt --cached

b.txt 處于未跟蹤狀態,也就是從暫存區刪除。

特別說明處于未跟蹤狀態只是沒有存在于暫存區,歷史提交記錄中的記錄依然存在。

8.3 清空緩存

所謂的暫存區僅僅是.git目錄下的一個index文件罷了,這也是為了什么被稱為index(索引),當刪除暫存區內容的時候,其實就是刪除index文件中的內容,.git/objects目錄中的內容不會被刪除。

rm .git/index

9. 分支管理

9.1 分支操作命令

git branch						 #查看分支 git branch <name>				 #創建分支git checkout <name>				 #切換分支git checkout -b <name>			 #創建 + 切換分支git merge <name>				 #將某分支合并到當前分支git branch -d <name>			 #刪除分支

案例加解析!帶你總結Git常用操作命令

9.2 開發流程圖

案例加解析!帶你總結Git常用操作命令

五、Git 命令整合

1. 設置全局用戶名和郵箱

命令 作用
git config –global user.name “Your Name” 設置用戶名
git config –global user.email “email@example.com” 設置郵箱

2. 初始化命令

命令 作用
git init 初始化 git,創建 .git 文件

3. 常用命令

命令 作用
cd 進入某個目錄
mkdir 創建一個文件
pwd 顯示當前的目錄路徑
鼠標選中就是復制 復制
直接鼠標右鍵粘貼 / 快捷鍵:Shift+INS 粘貼

4. 添加到暫存區

命令 作用
git add a.txt 添加 a.txt 到暫存區
git add . 添加當前根目錄下的所有文件到暫存區
git commit -m “雙引號里面是注釋——你的提交說明” 把暫存區的文件提交到版本庫(一次全部提交)

5. 查看文件狀態

命令 作用
git status 查看文件狀態(檢查是否有未提交文件)

6. 查看提交歷史

命令 作用
git log 查看全部歷史提交記錄
git log –pretty=oneline 精簡顯示所有歷史提交記錄
git reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)
git log -p 查看全部提交歷史并展示每次修改的內容
git log -2 查看最近2次提交歷史(注意:后面的數字是可以自定義的,也就是說,這種寫法是 git log -n 的體現)
git log -p -2 查看最近2次提交歷史并展示修改的內容
git log –stat 查看提交歷史,并展示摘要內容(摘要會列出修改的文件以及每個文件中修改了多少行)

7. 版本回退與恢復

命令 作用
git reset –hard HEAD^ 回退到上一個版本
git reset –hard HEAD~N(不是-,是波浪線) 回退到上N個版本
git reset –hard 回退到指定版本
git reflog 和 git reset –hard 合并使用 恢復回退的版本

8. 查看不同版本的差異

命令 作用
git diff 查看不同版本之間的文件差異

9. 撤銷修改

命令 作用
git checkout – b.txt 一:readme.txt 自修改后還沒有被放到暫存區(git add),現在,撤銷修改就回到和版本庫一模一樣的狀態;
二:readme.txt 已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。

10. 刪除

命令 作用
git rm b.txt rm 刪除文件
rm 刪除后會自動添加到暫存區,省略了手動 add 命令
最后進行 commit 提交,文件被刪除
git rm b.txt –cached 刪除緩存區單個文件,b.txt 處于未跟蹤狀態,也就是從暫存區刪除
rm .git/index 清空所有緩存

11. 分支管理

命令 作用
git branch 查看分支
git branch 創建分支
git checkout 切換分支
git checkout -b 創建 + 切換到新分支
git merge 將某分支合并到當前分支
git branch -d 刪除分支

推薦學習:《git

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享