Git使用常用問題及解決方法(持續(xù)更新)

我們?cè)谑褂肎it的過(guò)程中經(jīng)常會(huì)遇到各種問題,對(duì)于新手來(lái)說(shuō)一個(gè)git命令敲錯(cuò)了就是一種災(zāi)難,本文會(huì)不斷更新使用Git過(guò)程中常見的問題和解決方法。



1、Git沖突:“commit your changes or stash them before you can merge.”

用git pull來(lái)更新代碼的時(shí)候,遇到了下面的問題:

error: Your local changes to the following files would be overwritten by merge:
......
Please, commit your changes or stash them before you can merge.
Aborting

出現(xiàn)這個(gè)問題的原因是版本庫(kù)中的項(xiàng)目被修改提交了,而你本地也修改了項(xiàng)目,這時(shí)候你進(jìn)行git pull操作就會(huì)出現(xiàn)沖突,解決方法分兩種情況:
1、保留本地的修改的改法
通過(guò)git stash將工作區(qū)恢復(fù)到上次提交的內(nèi)容,同時(shí)備份本地所做的修改,之后就可以正常git pull了,git pull完成后,執(zhí)行git stash pop將之前本地做的修改應(yīng)用到當(dāng)前工作區(qū)。

git stash
git pull
git stash pop

git stash: 備份當(dāng)前的工作區(qū)的內(nèi)容,從最近的一次提交中讀取相關(guān)內(nèi)容,讓工作區(qū)保證和上次提交的內(nèi)容一致。同時(shí),將當(dāng)前的工作區(qū)內(nèi)容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內(nèi)容,恢復(fù)工作區(qū)的相關(guān)內(nèi)容。由于可能存在多個(gè)Stash的內(nèi)容,所以用棧來(lái)管理,pop會(huì)從最近的一個(gè)stash中讀取內(nèi)容并恢復(fù)。
git stash list: 顯示Git棧內(nèi)的所有備份,可以利用這個(gè)列表來(lái)決定從那個(gè)地方恢復(fù)。
git stash clear: 清空Git棧。此時(shí)使用gitg等圖形化工具會(huì)發(fā)現(xiàn),原來(lái)stash的哪些節(jié)點(diǎn)都消失了。
2、放棄本地修改的改法

git reset --hard
git pull

這種方法會(huì)丟棄本地修改的代碼,而且不可找回,特別提醒git reset --hard一定要慎用,一旦用錯(cuò)后悔莫及。

如果你喜歡本文章,還請(qǐng)點(diǎn)個(gè)關(guān)注和喜歡,我會(huì)為大家不斷地帶來(lái)Python學(xué)習(xí)筆記。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容