Python?pycharm提交代碼遇到?jīng)_突解決方法
一、背景
我在pycharm提交代碼的時(shí)候,因?yàn)閷?duì)git和pycharm不是很熟悉,在提交代碼到遠(yuǎn)程倉(cāng)庫(kù)遇到?jīng)_突后選擇應(yīng)用遠(yuǎn)端代碼導(dǎo)致把本地代碼全部刪除。之后不知道代碼恢復(fù)方法,又把代碼重新寫(xiě)了一遍,非常浪費(fèi)時(shí)間,導(dǎo)致開(kāi)發(fā)效率低下。
這個(gè)問(wèn)題的相關(guān)解決方法在網(wǎng)上比較零碎也不詳細(xì),下面我通過(guò)自己的實(shí)踐一步步說(shuō)明如何解決這個(gè)問(wèn)題。
二、沖突產(chǎn)生原因
簡(jiǎn)單來(lái)說(shuō),就是一個(gè)以上的人對(duì)代碼進(jìn)行不同修改,在進(jìn)行合并的時(shí)候git無(wú)法判斷如何merge。
舉例一個(gè)最常見(jiàn)的情況,在同一個(gè)開(kāi)發(fā)分支上,A和B都拉取了版本1,A在版本1上修改了一行代碼,并且把這次修改commit,生成版本2。之后,B不知道A的修改,也在版本1上修改了同一行代碼,B打算提交此次修改,在pull的時(shí)候就會(huì)產(chǎn)生沖突。
三、解決方法
3.1 pycharm誤刪代碼怎么處理
右鍵點(diǎn)擊當(dāng)前項(xiàng)目,找到Local History->Show History
點(diǎn)開(kāi)之后,就會(huì)彈出一個(gè)框,左側(cè)是文件名稱,找到相對(duì)應(yīng)的名稱,打開(kāi),賦值代碼
3.2 解決pull --rebase代碼沖突
command+t產(chǎn)生沖突后,pycharm會(huì)彈出提示框把沖突標(biāo)注出來(lái)。
從左到右分別是自己本地修改的代碼,你上一次pull下來(lái)的未修改前的原版代碼,遠(yuǎn)端分支最新版本。
選擇自己修改的版本或者遠(yuǎn)端最新版本
在這個(gè)彈出的提示框最下面,Accept Left選擇自己的版本或者Accept Right選擇遠(yuǎn)端最新版本
放棄合并:
點(diǎn)擊abort,放棄合并回到rebase之前的狀態(tài)
會(huì)出現(xiàn)Abort and Rollback applying patch or Skip this file?提示,直接確認(rèn)就行了
手動(dòng)合并:
和同事商量后在中間的代碼塊進(jìn)行合并修改,修改完點(diǎn)擊Apply
再點(diǎn)擊Apply Changes and Mark Resolved,pull之后就會(huì)發(fā)現(xiàn),拉下來(lái)的沖突代碼塊展示的是自己剛剛修改的語(yǔ)句。
3.3 備份代碼
- 最簡(jiǎn)單的直接把代碼所有文件復(fù)制一份
沒(méi)啥好說(shuō)的,跳過(guò)
- 保存在git暫存區(qū)(本質(zhì)是一個(gè)棧)
單個(gè)stash:
- git stash // 把還未提交的代碼存到暫存區(qū)
- git stash pop // 取出代碼
多個(gè)stash:
- git stash save 名稱 // 暫存代碼
- git stash pop // 取出最近一次存的代碼
- git stash list // 查看所有暫存代碼
- git stash apply stash@{} // 取出暫存區(qū)對(duì)應(yīng)代碼,根據(jù)list結(jié)果寫(xiě)指令
四、重點(diǎn)注意事項(xiàng)
- 必須先pull再push?。ush沒(méi)有處理沖突的能力,會(huì)直接報(bào)錯(cuò)
- pull --rebase與遠(yuǎn)程代碼同步,同步過(guò)程中會(huì)檢測(cè)沖突
- 推薦手動(dòng)合并!!
- 在合并代碼前做好備份很重要??!之后誤操作導(dǎo)致代碼被刪也可以直接恢復(fù)?。∮浀脗浞荩。∮绕涫莿倕⒓庸ぷ骰蛘邉倕⑴c大型項(xiàng)目的同學(xué)
到此這篇關(guān)于Python pycharm提交代碼遇到?jīng)_突解決方法的文章就介紹到這了,更多相關(guān)pycharm提交代碼沖突內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法
今天小編就為大家分享一篇pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06如何實(shí)現(xiàn)刪除numpy.array中的行或列
如何實(shí)現(xiàn)刪除numpy.array中的行或列?今天小編就為大家分享一篇對(duì)刪除numpy.array中行或列的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python中g(shù)etpass模塊無(wú)回顯輸入源碼解析
這篇文章主要介紹了Python中g(shù)etpass模塊無(wú)回顯輸入源碼解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲
這篇文章主要介紹了python實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲,涉及Python操作隨機(jī)數(shù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04Python *args和**kwargs用法實(shí)例解析
這篇文章主要介紹了Python *args和**kwargs用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐
本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01python實(shí)現(xiàn)windows倒計(jì)時(shí)鎖屏功能
這篇文章主要介紹了python實(shí)現(xiàn)windows倒計(jì)時(shí)鎖屏功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Python中最強(qiáng)大的錯(cuò)誤重試庫(kù)(tenacity庫(kù))
本文要給大家介紹的tenacity庫(kù),可能是目前Python生態(tài)中最好用的錯(cuò)誤重試庫(kù),主要介紹tenacity的主要使用方法和特性,具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04pandas如何計(jì)算同比環(huán)比增長(zhǎng)
這篇文章主要介紹了pandas如何計(jì)算同比環(huán)比增長(zhǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05