這個頁面包含了我覺得很好用但很難記住的 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>