Git 速查表
Git 常用命令速查——分支、合并、变基与工作流
git init在當前目錄初始化新的 Git 儲存庫
git clone <url>複製遠端儲存庫
git clone --depth 1 <url>淺層複製(僅最新提交),加快下載
git config --global user.name "Name"為所有儲存庫設定使用者名稱
git config --global user.email "[email protected]"為所有儲存庫設定電子郵件
git config --global core.editor vim設定提交訊息的預設編輯器
git config --global init.defaultBranch main設定新建儲存庫的預設分支名稱
git config --list列出所有組態項目
git config --global alias.co checkout建立 Git 別名(co → checkout)
git config --global credential.helper cache在記憶體中暫時快取憑證
git status顯示工作區狀態(已修改、已暫存、未追蹤)
git add <file>暫存指定檔案以提交
git add .暫存當前目錄下的所有變更
git add -p互動式暫存檔案的局部內容(逐區塊)
git commit -m "message"提交已暫存的變更並附帶說明
git commit -am "message"暫存所有已追蹤檔案並一步提交
git commit --amend修改最近一次提交(訊息或檔案)
git diff顯示未暫存的變更
git diff --staged顯示已暫存的變更(待提交)
git diff HEAD~3將工作區與 3 個提交前對比
git push推送提交到遠端分支
git pull拉取並合併遠端變更到當前分支
git pull --rebase拉取遠端並將本地提交變基到其上方
git fetch下載遠端變更但不合併
git branch列出所有本地分支
git branch -a列出所有分支(本地和遠端)
git branch <name>建立新分支
git branch -d <name>刪除已合併的分支
git branch -D <name>強制刪除未合併的分支
git branch -m <old> <new>重新命名分支
git switch <branch>切換到已有分支
git switch -c <branch>建立並切換到新分支
git checkout <branch>切換分支(經典語法)
git checkout -b <branch>建立並切換到新分支(經典語法)
git merge <branch>將分支合併到當前分支
git merge --no-ff <branch>使用合併提交進行合併(停用快轉)
git rebase <branch>將當前分支變基到另一分支
git rebase --abort中止正在進行的變基
git rebase --continue解決衝突後繼續變基
git cherry-pick <commit>將指定提交套用到當前分支
git remote -v列出遠端儲存庫及 URL
git remote add origin <url>新增遠端儲存庫
git remote rename origin upstream重新命名遠端儲存庫
git remote remove <name>刪除遠端儲存庫
git remote set-url origin <url>變更遠端儲存庫 URL
git push -u origin <branch>推送分支並設定上游追蹤
git push origin --delete <branch>刪除遠端分支
git fetch --all從所有已設定的遠端拉取
git fetch --prune拉取並清除過期的遠端追蹤分支
git pull origin main從指定遠端分支拉取變更
git push --force-with-lease安全強制推送(遠端有更新則失敗)
git log顯示提交歷史
git log --oneline顯示精簡的單行提交歷史
git log --oneline --graph --all顯示所有分支的分支圖
git log -p -2顯示最近 2 次提交的差異
git log --author="Name"依作者篩選提交
git log --since="2 weeks ago"顯示最近 2 週的提交
git log --stat顯示提交歷史及檔案變更統計
git show <commit>顯示指定提交的詳情和差異
git blame <file>顯示檔案每行最後修改者
git shortlog -sn依作者顯示提交數(已排序)
git reflog顯示 HEAD 移動歷史(復原工具)
git diff <branch1>..<branch2>比較兩個分支
git log --all --grep="fix"在提交訊息中搜尋關鍵字
git restore <file>捨棄檔案的未暫存變更
git restore --staged <file>取消暫存檔案(保留工作區變更)
git reset HEAD~1撤銷上次提交,保留已暫存變更
git reset --soft HEAD~1撤銷上次提交,保留已暫存變更
git reset --hard HEAD~1撤銷上次提交並捨棄所有變更
git reset --hard origin/main重設分支以符合遠端(會遺失本地變更)
git revert <commit>建立新提交以撤銷指定提交
git clean -fd刪除未追蹤的檔案和目錄
git clean -fdn模擬執行——顯示將被刪除的內容
git rm --cached <file>從暫存區移除檔案(保留磁碟檔案)
git checkout <commit> -- <file>從指定提交復原檔案
git stash儲存未提交的變更並清空工作區
git stash push -m "description"暫存變更並新增描述訊息
git stash list列出所有 stash 記錄
git stash pop套用最新 stash 並從清單中移除
git stash apply套用最新 stash 但保留在清單中
git stash apply stash@{2}依索引套用指定 stash
git stash drop stash@{0}刪除指定 stash
git stash clear清除所有 stash 記錄
git stash show -p顯示最新 stash 的差異
git stash branch <branch>從 stash 建立分支
git tag列出所有標籤
git tag v1.0.0建立輕量標籤
git tag -a v1.0.0 -m "Release 1.0"建立附說明的附註標籤
git tag -a v1.0.0 <commit>為指定提交建立標籤
git tag -d v1.0.0刪除本地標籤
git push origin v1.0.0推送指定標籤到遠端
git push origin --tags推送所有本地標籤到遠端
git push origin --delete v1.0.0刪除遠端標籤
git show v1.0.0顯示標籤資訊
git describe --tags描述當前提交相對於最近標籤的位置
git submodule add <url> path/向儲存庫新增子模組
git submodule init初始化子模組組態
git submodule update拉取並檢出子模組提交
git submodule update --init --recursive遞迴初始化並更新所有子模組
git submodule foreach git pull在所有子模組中拉取最新變更
git submodule status顯示所有子模組狀態
git submodule deinit path/註銷子模組
git rm path/從儲存庫中移除子模組
git bisect start開始二分搜尋引入 bug 的提交
git bisect good <commit>標記提交為不含 bug
git bisect bad <commit>標記提交為含 bug
git bisect reset結束 bisect 並返回原 HEAD
git worktree add ../feature feature-branch為分支建立關聯工作樹
git worktree list列出所有關聯工作樹
git archive --format=zip HEAD > repo.zip將儲存庫匯出為 zip 封存
git grep "pattern"在已追蹤檔案中搜尋模式
git format-patch -3為最近 3 次提交產生修補檔
git apply patch.patch套用修補檔
git rev-parse HEAD顯示當前提交的完整 SHA
git gc執行垃圾回收以最佳化儲存庫
所示命令適用於 Git 2.x 及以上版本。
相關工具
Git 速查表
一份免費、可搜尋的Git速查表,將最實用的指令、參數和快捷方式集中在一處。快速查閱語法、複製指令,更高效地掌握Git 版本控制——既適合新手,也是熟練使用者的便捷參考。
FAQ
- 這份Git速查表免費嗎?
- 免費。整份速查表均可免費瀏覽和複製,無需註冊。
- 可以搜尋特定指令嗎?
- 可以。使用搜尋即可即時篩選Git指令,直接跳轉到你需要的語法。
- Git速查表適合誰使用?
- 它適合所有人——從正在學習Git 版本控制的新手,到想快速回顧不常用參數和快捷方式的進階使用者。