首先在提交代碼到遠(yuǎn)程倉(cāng)庫(kù)時(shí)發(fā)現(xiàn)提交失敗,提示因?yàn)榕c遠(yuǎn)程倉(cāng)庫(kù)有沖突 ? conflicts洲脂;
然后就需要手動(dòng)去處理這些沖突了,首先把遠(yuǎn)程倉(cāng)庫(kù)的代碼下到本地,顯然用
git pull origin master
是不行的杖爽,因?yàn)檫@個(gè)命令會(huì)直接去嘗試將遠(yuǎn)程代碼與本地倉(cāng)庫(kù)的主干分支合并耻台;當(dāng)然也會(huì)因?yàn)闆_突導(dǎo)致合并失斂彰狻;
這時(shí)用
git fetch origin master
該命令會(huì)將遠(yuǎn)程倉(cāng)庫(kù)的代碼同步到本地盆耽,但是不會(huì)合并到任何分支上蹋砚,而是存放到一個(gè) origin/master分支上;
之后調(diào)用
git diff origin/master?? 可以查看遠(yuǎn)程倉(cāng)庫(kù)到底修改了哪些東西?
git diff 對(duì)比兩次文件修改了什么摄杂。但如何退出呢坝咐?按q即可
最后調(diào)用
git merge origin/master
將遠(yuǎn)程倉(cāng)庫(kù)的代碼與本地主干分支進(jìn)行合并;執(zhí)行完這一步后所有本地與遠(yuǎn)程的代碼就合并了析恢,只是存在沖突的地方
被加上了標(biāo)記墨坚,需要手動(dòng)去解決沖突;執(zhí)行完該命令后git中會(huì)顯示每個(gè)沖突所在的文件映挂,
例如:Conflicts XXXXXX>XXX>XX? 之類(lèi)的
你就去你項(xiàng)目的文件下泽篮,在AndroidStudio打開(kāi)該文件。手動(dòng)合并的方法:
<<<<<<<到=======是在當(dāng)前分支合并之前的文件內(nèi)容
=======到>>>>>>> psr/psr-02是在其它分支下修改的內(nèi)容
需要在這個(gè)兩個(gè)版本中選擇一個(gè)柑船,然后把標(biāo)記符號(hào)也要一起刪除
合并完成后執(zhí)行? git add 命令 將你合并的文件添加進(jìn)去 然后
git commit -m “你的提交信息”
提交合并成功后就可以上傳到遠(yuǎn)程倉(cāng)庫(kù)啦
git push origin master
另外在 git commit 這步常常忘記輸入提交信息導(dǎo)致進(jìn)入 編輯提交信息的界面 應(yīng)該就是下面的git bash vim吧帽撑;
git commit 最后一次提交的注釋信息,如何修改鞍时? 如何退出編輯器亏拉?
今天用git commit -m “注釋”提交的時(shí)候,注釋寫(xiě)錯(cuò)了逆巍,于是各種查資料開(kāi)始了和git bash vim的糾纏专筷。。蒸苇。(網(wǎng)上的資料我真是沒(méi)操作成功磷蛹,不過(guò)最后還是摸索出來(lái)了。
首先 使用?git commit --amend?命令(修改最近一次提交的注釋信息)溪烤,會(huì)進(jìn)入到 vim 編輯器
然后 你會(huì)發(fā)現(xiàn)編輯器里你怎么輸入都沒(méi)反應(yīng)味咳,這是因?yàn)関im處在不可編輯狀態(tài),
按下字母鍵 c(此時(shí)進(jìn)入編輯狀態(tài))檬嘀,可以開(kāi)始修改注釋信息了
修改好后槽驶,你會(huì)發(fā)現(xiàn)怎么都退出不了,然后如下操作:
按下 Esc (退出編輯狀態(tài))鸳兽; 接著 連按兩次大寫(xiě)字母Z掂铐,你會(huì)驚喜的發(fā)現(xiàn),終于保存好退出來(lái)了!
然后git push -f 推送到遠(yuǎn)端全陨,git push 有可能會(huì)推送失敗爆班,所有需要強(qiáng)推;
windows 系統(tǒng) 辱姨,親測(cè)有效J疗小!拿走不謝雨涛!