git rebase -i 介紹
分類
建立時間: 2023年10月26日 09:49
更新時間: 2023年10月26日 10:25
說明
git rebase -i
可以用來管理提交,像是合併、刪除等等。
提交順序
git log
的提交順序是由新到舊排序,而 git rebase -i
則是由舊到新排序。
互動模式畫面
當你輸入 git rebase -i
你就會進入一份編輯文件,這份文件就是管理提交的內容。
內容大概如下
pick 1a20cd4 temp
# Rebase 1fda1cd..1a20cd4 onto 0fca1bc (1 command)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
最上面是提交管理內容,格式為【命令 提交 描述】,其他的部分都是註解,說明如何管理提交。
命令
這裡列出一些較常用的命令,完整的內容請參考註解訊息。
- d, drop <commit> = 刪除提交
- p, pick <commit> = 使用提交
- s, squash <commit> = 使用提交,但合併到先前的提交中
上述命令一個是縮寫,一個是全寫,兩者都可以用。
其他編輯事項
- 這些行可以重新排序;它們是從上到下執行的。
- 如果你刪除某一行,就會失去提交,就跟
drop
命令一樣。
合併提交
pick a000001 commit 1
squash a000002 commit 2
pick a000003 commit 3
squash a000004 commit 4
pick a000005 commit 5
a000001 和 a000002 合併成一個提交,a000003 和 a000004 合併成一個提交。
pick a000001 commit 1
pick a000002 commit 2
squash a000003 commit 3
squash a000004 commit 4
pick a000005 commit 5
a000002 和 a000003 合併成一個提交,a000004 再跟 (a000002, a000003) 合併成一個提交,所以是三個提交合併在一起。
送出
當你編輯完成後,離開文件,例如: vim 指令是 :q
。接著如果有要編輯提交內容,系統會再跳出內容讓你填寫,像是合併提交就會把所有合併的內容寫在裡面,你需要自己編輯新的合併提交內容,然後離開文件。
觀看次數: 416
gitiinteractiverebase
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!