Git 命令速查表

最全 Git 命令參考手冊,按分類整理,快速查找

全部: 65 个命令

基礎命令(13)

git init

在當前目錄創建新的 Git 倉庫

git clone <url>

克隆遠程倉庫到本地

git clone --depth=1 <url>

淺克隆,只獲取最近一次提交

git add <file>

將文件添加到暫存區

git add .

添加所有修改到暫存區

git commit -m "message"

提交暫存區的更改

git commit --amend

修改上一次提交

git status

查看倉庫當前狀態

git diff

查看未暫存的更改

git diff --staged

查看已暫存的更改

git config --list

查看所有配置

git config --global user.name "name"

設置全局用戶名

git config --global user.email "email"

設置全局郵箱

分支管理(14)

git branch

列出所有本地分支

git branch -a

列出所有分支(含遠程)

git branch <name>

創建新分支

git branch -d <name>

刪除分支

git branch -m <old> <new>

重命名分支

git checkout <branch>

切換分支

git checkout -b <branch>

創建並切換到新分支

git switch <branch>

切換分支(Git 2.23+)

git switch -c <branch>

創建並切換到新分支(Git 2.23+)

git merge <branch>

合併指定分支到當前分支

git merge --no-ff <branch>

合併分支並創建合併提交

git rebase <branch>

變基當前分支到指定分支

git rebase --continue

解決衝突後繼續變基

git cherry-pick <commit>

選擇特定提交合併到當前分支

遠程操作(10)

git remote -v

查看遠程倉庫信息

git remote add <name> <url>

添加遠程倉庫

git fetch <remote>

獲取遠程倉庫最新內容

git fetch --all

獲取所有遠程倉庫更新

git pull <remote> <branch>

拉取併合並遠程分支

git pull --rebase

拉取並變基

git push <remote> <branch>

推送到遠程倉庫

git push -f

強制推送(謹慎使用)

git push -u origin <branch>

推送並設置上游分支

git push origin --delete <branch>

刪除遠程分支

撤銷修改(8)

git reset <file>

取消暫存文件

git reset --soft HEAD~1

撤銷最近一次提交,保留更改

git reset --mixed HEAD~1

撤銷提交和暫存,保留工作區

git reset --hard HEAD~1

撤銷提交併丟棄所有更改

git revert <commit>

撤銷指定提交(創建新提交)

git restore <file>

恢復工作區文件(Git 2.23+)

git restore --staged <file>

取消暫存文件(Git 2.23+)

git clean -fd

刪除未跟蹤的文件和目錄

標籤管理(6)

git tag

列出所有標籤

git tag <name>

創建輕量標籤

git tag -a <name> -m "msg"

創建附註標籤

git tag -d <name>

刪除本地標籤

git push origin <tag>

推送標籤到遠程

git push --tags

推送所有標籤到遠程

歷史查看(7)

git log

查看提交歷史

git log --oneline

簡潔顯示提交歷史

git log --oneline --graph --all

圖形化顯示所有分支歷史

git show <commit>

顯示提交詳情

git blame <file>

查看文件每行的修改歷史

git reflog

查看所有操作歷史

git bisect start

開始二分查找問題提交

儲藏(7)

git stash

儲藏當前更改

git stash save "message"

帶消息儲藏更改

git stash list

查看所有儲藏

git stash pop

應用並刪除最近的儲藏

git stash apply

應用最近的儲藏但不刪除

git stash drop

刪除最近的儲藏

git stash clear

刪除所有儲藏

什麼是 Git?

Git 是一個分佈式版本控制系統,由 Linus Torvalds 創建,用於管理項目代碼的版本歷史。它支持多人協作開發,可以追蹤每次代碼修改,支持分支管理和版本回退。

掌握 Git 命令是每個開發者的必備技能。本速查表整理了最常用的 Git 命令,按功能分類,方便快速查找和學習。

使用方法

點擊任意命令卡片可複製該命令。使用搜索框可快速查找特定命令。點擊分類標籤可篩選查看特定類別的命令。

常用技巧

撤銷 git add
使用 git restore --staged 或 git reset 撤銷暫存
修改最後一次提交
使用 git commit --amend 可以修改最後一次提交的信息或內容
暫存工作進度
使用 git stash 臨時保存工作進度,切換到其他分支處理緊急事務
撤銷已推送的提交
使用 git revert 而非 git reset,避免破壞遠程倉庫歷史
查看文件歷史
使用 git log -p 查看文件的完整修改歷史

常見問題 (FAQ)

Q: git pull 和 git fetch 有什麼區別?

A: git fetch 只獲取遠程更新,不自動合併;git pull 等於 git fetch + git merge。建議先用 fetch 查看更新,再決定如何合併。

Q: 如何撤銷最後一次提交?

A: 使用 git reset --soft HEAD~1 撤銷提交但保留更改;使用 git reset --hard HEAD~1 完全撤銷並丟棄更改。如果已推送,使用 git revert 更安全。

Q: 如何解決合併衝突?

A: 手動編輯衝突文件,選擇保留的內容,然後 git add 標記為已解決,最後 git commit 完成合並。使用 git mergetool 可以可視化解決衝突。

Q: git merge 和 git rebase 有什麼區別?

A: merge 創建一個合併提交,保留分支歷史;rebase 將提交移到目標分支末端,使歷史更線性。公共分支建議用 merge,本地分支可用 rebase。

Q: 如何刪除已提交的大文件?

A: 使用 git filter-branch 或 BFG Repo-Cleaner。注意這會改寫歷史,需要強制推送。