看本文之前,建議先看之前的章節(jié),理解rebase變基的含義。
本文將結(jié)合rebase命令,為“如何優(yōu)雅的使用git“ 第二節(jié)內(nèi)容尋找第二條解決辦法,第二節(jié)中講到,小王為了避免解決沖突產(chǎn)生的提交記錄,提交代碼的步驟為:git stash先暫存代碼=>git pull拉到最新=>git add并commit ,這里為大家介紹另一種方案
rebase解決辦法:
我們回到第二節(jié)的場景,小王提交代碼時git要求先進(jìn)行commit或者stash,這一次我們不使用stash,看看能否避免多一條merge記錄,操作步驟:
- 執(zhí)行g(shù)it add .并且git commit - m 'xxx' 提交代碼至本地存儲
- 執(zhí)行g(shù)it pull --rebase,學(xué)習(xí)過之前章節(jié)的同學(xué)是不是很熟悉,這時rebase的有一種用法,與git pull不同的是,該命令在pull request之后如果與本地代碼有沖突,將進(jìn)入rebasing狀態(tài),這時我們需要解決沖突后執(zhí)行g(shù)it add,然后執(zhí)行g(shù)it rebase --continue直至沖突解決完畢,如果本地有多次commit可能要解決多次沖突,全部解決完畢后,自動退出rebasing狀態(tài),這時發(fā)現(xiàn)并沒有多出處理沖突的提交
- 執(zhí)行g(shù)it push推送至遠(yuǎn)端
總結(jié):
在提交代碼前如果無法拉取最新代碼,除了可以使用git stash暫存,還可以使用git commit配合git pull --rebase提交代碼,最終達(dá)到減少代碼”不良記錄“的目的,這樣我們的代碼記錄又干凈不少。