日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

浅谈git rebase命令 -- git修改历史提交信息

發(fā)布時(shí)間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈git rebase命令 -- git修改历史提交信息 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

淺談git rebase命令

如果你只想修改git log命令打印到終端上的最后一個(gè)提交信息,那么使用git commit --amend命令直接修改就好。

如果你還想合并最近的某幾個(gè)提交為一個(gè)提交,并重新為這個(gè)化多為一的新的提交信息的話,那么就要考慮使用git rebase -i HEAD~n命令,注意其中n是一個(gè)具體的數(shù)字,即你一共想合并的提交的個(gè)數(shù)。

例如如果n為3,則你會(huì)得到這樣一個(gè)界面

根據(jù)下面的提示,修改上面那三個(gè)pick,注意如果是squash的話,第一個(gè)pick是不可以被修改為sqush的,因?yàn)榈谝粋€(gè)指的是,剩下兩個(gè)提交是要合并到第一個(gè)提交里的,把第一pick也改為squash的話,那么git就不知道該把這三個(gè)往哪合并了。
注意上面這個(gè)界面只是用來讓你修改pick的,其他的東西不需要?jiǎng)印?/p>

pick,指啥也不變(我的理解)
reword,指不合并,但是可以直接修改后面的提交信息,這里的直接修改不是在這個(gè)界面修改,這個(gè)界面只用來讓你修改pick的,其他的不要?jiǎng)印⒌谌械膒ick修改為reword之后,保存并退出,git會(huì)直接創(chuàng)建一個(gè)vim會(huì)話窗口,此時(shí)你就可以修改提交信息了。

這里直接修改第一行的提交信息就行,其他的也不用動(dòng),然后保存并推出就完成了reword的功能。
edit,這個(gè)命令看似跟reword差不多,但是不能隨便用,因?yàn)槿绻惆训诙械膒ick改為edit,那么這里的意思就是丟棄第三行的提交,直接修改第二行的提交信息,保存并退出后,需要手動(dòng)使用git commit --amend去把修改窗口調(diào)用出來,然后才能修改提交信息;如果你后悔了,那么可以使用git rebase --abort放棄本次修改。這里的git rebase --continue的意思是,如果你不使用git commit --amend修改提交信息,也不用git rebase --abort放棄本次操作,那就默認(rèn)不修改提交信息并完成本次操作。

所以這個(gè)命令有一定危險(xiǎn)性,沒想清楚不要隨便用。


squash,指的是將當(dāng)前提交合并至上一個(gè)提交,注意因?yàn)槭呛喜⒅辽弦粋€(gè)提交(范圍在出現(xiàn)在這個(gè)界面的),所以第一行是沒有上一個(gè)提交的,所以無法將第一行的pick改為squash。修改完pick后就可以保存并退出,git會(huì)自動(dòng)彈出修改提交信息的窗口,把本來的多個(gè)提交信息修改為一個(gè)就可以了。(可以同時(shí)修改多個(gè)pick為squash,除了第一個(gè)pick不能被修改以外,都可以修改為squash)

fixup,fixup是僅僅丟棄提交記錄,但是該次提交的已修改的文件不會(huì)變動(dòng),這個(gè)適用于合并兩個(gè)分支時(shí),兩個(gè)分支都有變動(dòng),那么在合并的時(shí)候git會(huì)自動(dòng)創(chuàng)建一個(gè)提交記錄,記錄本次合并。如果沒什么沖突,為了簡(jiǎn)潔,可以把這個(gè)自動(dòng)創(chuàng)建的提交記錄丟棄掉。

drop, 顧名思義,丟棄,不僅丟棄提價(jià)記錄還丟棄添加或者文件內(nèi)被修改的內(nèi)容。

注意,倘若你已經(jīng)git push到上游了,那就不要修改提交記錄了,會(huì)造成混亂。這只適用于本地修改完,但還未push的時(shí)候。

總結(jié)

以上是生活随笔為你收集整理的浅谈git rebase命令 -- git修改历史提交信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。