Ad 320×100
開發工具

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 及以上版本。

Ad 320×100

Git 速查表

一份免費、可搜尋的Git速查表,將最實用的指令、參數和快捷方式集中在一處。快速查閱語法、複製指令,更高效地掌握Git 版本控制——既適合新手,也是熟練使用者的便捷參考。

FAQ

這份Git速查表免費嗎?
免費。整份速查表均可免費瀏覽和複製,無需註冊。
可以搜尋特定指令嗎?
可以。使用搜尋即可即時篩選Git指令,直接跳轉到你需要的語法。
Git速查表適合誰使用?
它適合所有人——從正在學習Git 版本控制的新手,到想快速回顧不常用參數和快捷方式的進階使用者。