1. 程式人生 > 實用技巧 >git 回顧(1)初始化與提交

git 回顧(1)初始化與提交

接觸 git 與 github 已經有不少時間了,但是由於經常使用 vs 外掛進行操作,而不是命令列操作,近期在使用命令列時發現,一些常用 git 命令還需要查下手冊。因此,本篇作為一個 git 回顧複習就產生了。

本文參考微軟文件(https://docs.microsoft.com/en-us/learn/modules/intro-to-git/ ) 在此文件中同時提供了 Azure Cloud Shell 虛擬環境來進行測試,學習回顧起來非常方便。

1 配置 Git

(1)首先判斷是否安裝了 Git

git --version

(2) 配置全域性變數(使用者名稱和郵箱)

git config --global user.name "<USER_NAME>"

git config --global user.email "<USER_EMAIL>"

(3) 判斷設定全域性變數是否成功

git config --list

2 建立 Git 倉庫

(1)建立資料夾

mkdir Cats 

(2)進入該資料夾

cd Cats

(3) 初始化該倉庫

git init 

(4)可以通過檢視命令看到在倉庫資料夾下會多出一個 .git 隱藏檔案

ls -a 

(5)通過命令檢視當前工作樹狀態

git status

(6)使用 help 引數來查詢 git 相關幫助, 同時也可以查詢對應命令的相關幫助

git --help
git commit --help

3 建立新的檔案並新增到 git 倉庫中去

(1)新建一個檔案

touch  index.html

(2)檢視 git 狀態

git  status

(3)新增剛剛新建的檔案

git add index.html
 或 git add .

(4) 再次檢視 git 狀態

git status 

4 提交修改

(1)使用命令提交修改

git commit index.html -m "Create an empty index.html file"
 

(2) 這時再使用 git status 可以發現為空,這時因為在提交完 index.html 之後我們就沒有未提交的檔案了

(3)使用 git log 檢視提交記錄

git log 

5 修改 index.html 並再次提交

(1)修改檔案

code  index.html

(2) 使用 git status 檢視狀態,可以發現 index.html 已經修改完成,待提交。

(3)提交修改的檔案

git commit   -a -m  “add a heading to index.html”

這裡使用 -a 是自動新增從上次提交後有改動的檔案(新建的檔案不會自動新增,這時需要再次使用 git add )

6 繼續修改檔案

(1)在次使用 code index.html 對檔案進行修改

(2)使用 git diff 命令檢視檔案進行了哪些修改,紅色是刪除的,綠色是新增的

git diff 

(3) git diff 預設將工作樹與索引進行對比,他會顯示未新增到索引的全部更改,可以使用 git diff HEAD 來檢視與上次提交對比的更改

(4)再次提交,除了可以使用 -a 來進行提交,也可以直接使用檔名來進行只提交對應檔案,順序可以更換

git  commit -m "Add HTML boilerplate to index.html" index.html

(5)這時再次使用 git diff 將不會有任何輸出,因為在工作樹、索引以及 HEAD 中的檔案內容完全一致

(6) 建立 .gitignore 檔案來告訴 git 有哪些檔案不需要提交。例如在使用 vim 或 sed 等對檔案進行編輯的時候會產生 index.html~ 和 index.html.bak 等類似的臨時檔案,這些檔案我們不需要進行上傳,那麼我們只需要在 .gitignore 檔案中進行宣告即可。 .gitignore 具體內容如下:

*.bak
*~

(7)自己的 .gitignore 檔案可以參考常見環境以及語言的配置(例如 github 上就會提供各種 .gitignore )

(8)更改 index.html 中的部分內容:例如將 feline 改為 furry ,使用 git status 與 git diff 分別檢視對應資訊

(9)使用 git add -A 和 git commit -m "message" 來進行提交 -A 代表將所有檔案(除了 .gitignore 中宣告的檔案)

7 增加一個目錄

(1) 新建一個目錄

mkdir CSS

(2)使用 git status 檢視,這時會發現,沒有更改的檔案,這是因為 git 只會自動跟蹤檔案變化而忽略了資料夾,改變此情況的常見做法是在該資料夾下建立一個空檔案,通常命名為 .git-keep

(3) 依次執行命令

touch CSS/.git-keep
git status
git  add CSS
git status

8 替換檔案

(1)刪除 CSS/.git-keep

rm CSS/.git-keep

(2)新建 site.css

touch site.css

(3)在 site.css 中增加程式碼,並在 index.html 引入 css 檔案 <link rel="stylesheet" href="CSS/site.css">

(4) 提交更改

git add .
git commit -m " Add a simple stylesheet"

(5) 通過 git log 檢視歷史更改記錄,在有很多更改情況下,可以使用 --oneline 引數進行簡化,或者使用 -nX X 想要檢視的數量,從 HEAD 往下數