git 入門教程之知識速查

雪之夢技術驛站發表於2019-03-29

知識速查

建立版本庫

初始化專案 git init

從零開始建立專案

示例

git init 
複製程式碼

克隆專案 git clone

將已有專案拷貝到本地

示例

git clone git@github.com:snowdreams1006/snowdreams1006.github.io.git
複製程式碼

新增檔案 git add

將新檔案或已修改檔案新增到快取區

示例

git add README.md
複製程式碼

檢視狀態 git status

檢視當前檔案是否和上次提交內容是否有修改

示例

git status README.md
複製程式碼

比較差異 git diff

檢視當前檔案和上次提交內容的具體差異

  • 尚未快取的修改: git diff
  • 檢視已快取修改: git diff --cached
  • 檢視已快取與未快取的所有修改: git diff HEAD
  • 顯示摘要而非整個差異: git diff --stat

示例

git diff README.md
複製程式碼

提交檔案 git commit

將快取區內容新增到版本庫

示例

git commit -m "remark"
複製程式碼

取消已快取內容 git reset HEAD

將快取區內容新增到版本庫

示例

git reset HEAD 
複製程式碼

刪除檔案 git rm

  • 從暫存區中移除且不保留在工作目錄: git rm <file>
  • 強制從暫存區中移除且不保留在工作目錄: git rm -f <file>
  • 從暫存區中移除但保留工作目錄: git rm --cached <file>

示例

git rm README.md
複製程式碼

移動檔案 git mv <file_old> <file_new>

移動或重新命名檔案,目錄,軟連線

示例

git mv README.md README_NEW.md
複製程式碼

commit push pull fetch merge 的區別與含義:

  • git commit : 將本地修改過的檔案提交到本地倉庫中
  • git push : 將本地倉庫的最新版本推送到遠端庫中
  • git pull : 從遠端庫獲取最新版本到本地,並自動merge
  • git fetch : 從遠端庫獲取最新版本到本地,不會自動merge
  • git merge : 將指定版本合併到當前分支

替換本地改動

丟棄當前檔案修改內容,已新增到暫存區以及新檔案都不會受到影響

示例

git checkout -- <file>
複製程式碼

丟棄本地所有改動

示例

git reset --hard 
複製程式碼

分支管理

建立分支 git branch

建立本地分支,但不自動切換新分支

示例

git branch dev
複製程式碼

切換分支 git checkout

切換到指定分支

示例

git checkout dev
複製程式碼

建立並切換分支 git checkout -b

建立本地分支並自動切換到新分支

示例

git checkout -b feature
複製程式碼

合併分支 git merge

將指定分支合併到當前分支

示例

git merge dev
複製程式碼

刪除分支 git branch -d

刪除指定分支

示例

git branch -d dev
複製程式碼

列出分支 git branch

列出本地全部分支

示例

git branch
複製程式碼

提交日誌 git log

檢視納入版本庫的提交日誌

示例

git log
複製程式碼

標籤管理

建立標籤 git tag -a

建立標籤並提交備註

示例

git tag -a v1.0.0
複製程式碼

追加標籤 git tag -a

追加標籤並更新備註

示例

git tag -a v0.9.0 6ad8956bc09a6a62c731711eabe796690aa6471c
複製程式碼

刪除標籤 git tag -d

刪除指定標籤

示例

git tag -d v1.0.0
複製程式碼

檢視標籤 git show

檢視指定標籤

示例

git show v1.0.0
複製程式碼

列出標籤 git tag

列出本地全部標籤

示例

git tag
複製程式碼

相關文章