Git速查表

曉飛發表於2022-05-29

git version 2.36.0

文件說明

  • <> 表示【需替換的項】
  • [] 表示【非必填項】
  • | 表示【或】
  • 工作樹(工作區),索引(暫存區),Git目錄(HEAD) 三詞含義參照Git官網

初始配置

git config --global user.name [<username>] 配置使用者名稱

git config --global user.email [<email>] 配置郵箱

git config --global core.editor [<vim>] 配置編輯器

建立專案

git clone <options> 克隆遠端倉庫

git init [project] 初始化本地專案

新增

git add <file> 新增檔案到暫存區

git commit -m <commit notes> 將暫存區的內容提交到HEAD

git commit -am <commit notes> 將add和commit合併操作

git commit --amend -m <commit notes> 將add和commit合併操作且合併到上次commit

顯示

git status 顯示狀態

git diff [HEAD] 顯示差異

git log 顯示日誌

git show <commit> 顯示某個commit的詳細內容

git blame <file> 顯示檔案每行的commit資訊

撤回

git restore <file> 撤回工作區的修改

git restore --staged <file> 將已提交到暫存區的修改撤回工作區

git reset [--mixed] <commit> 將當前版本撤回到某個commit,保留工作區的修改

git reset --soft <commit> 將當前版本撤回到某個commit, 保留工作區和暫存區的修改

git reset --hard <commit> 將當前版本撤回到某一個commit,不保留工作區的修改

git rm <file> 將檔案從工作區和暫存區刪除

git mv <file> 將檔案從工作區和暫存區移動或改名

git clean -df 從工作區刪除未跟蹤的檔案

分支

git branch [--list] 顯示所有分支

git branch -a 顯示遠端分支

git branch <branch> 建立分支

git branch -d|-D <branch> 刪除分支

git branch -m <newbranch> 重新命名當前分支

git switch <branch> 切換到已有分支

git switch -c <branch> 建立並切換分支

git merge <branch> 將某個分支合併到當前分支

git tag <tagname> 給當前分支打標籤

git stash 將工作區的更改儲存到髒工作目錄中

git stash apply 將髒工作目錄中的資料恢復到工作區(不會刪除髒工作目錄儲存的資料)

git stash drop 將髒工作目錄中的資料刪除

git stash pop 將髒工作目錄中的資料恢復工作區並刪除髒資料

遠端

git remote [-v] 顯示遠端庫

git remote show <origin> 顯示某個遠端庫的資訊

git remote add <origin> <url> 新增遠端庫連結

git remote rm <origin> 刪除遠端庫連結

git remote rename <oldname> <newname> 重新命名遠端庫

git pull [<origin><branch>] 拉取遠端庫到本地庫

git push [-u <origin> <master>] 將本地庫推送到遠端庫

git push origin --delete <branch>|git push origin :crazy-experiment 刪除遠端分支

git fetch 從遠端庫獲取到本地庫

幫助

git help <command> 顯示某個命令的詳細使用文件

git <command> -h 顯示某個命令的使用說明

checkout

該命令職責不明確,不建議使用;

git checkout <file> 丟棄工作區的修改

git checkout -f 強制丟棄工作區和暫存區的修改

git checkout <branch> 切換分支

git checkout -b <branch> 建立並切換分支

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章