緣起:
之前有在 "為你自己學 git" 上面讀到 rebase 的指令,
大概懂它的意思,不過就沒自己試過。最近有收到同事的抱怨,他在 merge 時發現有
conflict,在追查的時候碰上問題,因為我的 commit 很細碎,同個檔案,改個一行就
commit 一次,太多 commit 讓他追查時很不方便。
想來練習用 rebase 把多個 commit 壓成一筆。
Visual Studio Git 初始化:
我新增一個 console 專案來當練習,在 visual studio
右下有功能可以為專案新增版控
情境:
我自己再多加了幾個 commit 來模擬,每次的 commit
都只在 Program.cs 新增一行程式
git rebase:
參考文章。我需要把這幾個 commit 合併成一個 commit
git rebase -i 6127faa5
它會進入互動的畫面,這邊的 commit 是由舊到新。
除了第一行的 commit 不要動之外,其它的都把 pick 改成 squash。在這個編輯器裡的操作模式跟 linux 裡的 vim 一樣,我習慣按 i 來編輯文字。
git rebase --abort:
我在操作時有遇到一個問題,就是我進入 rebase 的互動頁面後,不小心把終端機頁面給關掉,這時如果再次開啟終端機並執行 rebase 指令的話,它會有錯誤
沒有留言:
張貼留言