這個頁面包含了我覺得很好用但很難記住的 Git 命令列表。

將一連串的提交合併為一個提交並重寫提交歷史

git rebase -i

執行後會進入交互式 Rebase 工具,輸入 s 將一個提交與前一個提交合併。需要合併多個提交時重複使用 s 指令。

將存在於另一個分支的提交應用到當前分支上

單個提交:

git cherry-pick <commit>

多個提交:

git cherry-pick <commit1> <commit2> <commit3>

還原文件至最後一次提交的狀態(撤消更改)

git checkout -- <filename>

以漂亮的圖形顯示提交歷史

git log --pretty=format:"%h %s" --graph

獲取更好看的日誌

git log --pretty=format:"%h - %an, %ar : %s"

獲取簡潔的狀態

git status -s

在本地檢查一個拉取請求

git fetch origin pull/<id>/head:<branch>
git checkout <branch>

列出和特定文件相關的提交

git log --follow -- <filename>

列出和特定文件相關的提交,包括提交的內容

git log --follow -p -- <filename>

按提交次數排序列出貢獻者

git shortlog -s -n

撤回最後一次提交並推送至遠端

git revert -n HEAD

選擇已經提交但未合併至當前分支的所有更改並新建一個分支

git checkout -b <branch>

停止追蹤某一文件,但仍保留在文件系統中

git rm -r --cached

查詢特定提交所在的分支名稱

git branch --contains <commit>