使用git和提交的代碼有所沖突楣颠,用IDE自帶的git工具功能多了反而不知道怎么下手,總怕會出現(xiàn)事故夏志,所以還是老老實(shí)實(shí)的使用git乃坤,簡潔好操作,而且網(wǎng)上提供的錯(cuò)誤支持也比較多沟蔑,我決定以后也都使用命令行的方式來解決湿诊,把每個(gè)git命令的作用盡量摸透,連一個(gè)工具都不能完美使用瘦材,還如何去自己寫代碼和設(shè)計(jì)軟件厅须。
首先我肯定是直接git pull拉取線上的代碼,但是有沖突肯定會報(bào)錯(cuò)食棕,然后我合并主分支git merge master
合并之后我們使用git status -uno查看一下狀態(tài):
有三種狀態(tài)朗和,已經(jīng)commited的错沽,還有就是Unmerged path路徑下的文件,就是我們需要手動合并的眶拉,沒有沖突的會Auto-merging(自動合并)
我們手動合并Unmerged path下的兩個(gè)文件:
$ vim LocationController.JAVA
$ vim SysService.java
打開文件后會發(fā)現(xiàn)千埃,代碼中會被<<<<<<< 、=======忆植、>>>>>>>包圍放可,這是沖突標(biāo)記:沖突標(biāo)記<<<<<<< 與=======之間的內(nèi)容是我的修改,=======與>>>>>>>之間的內(nèi)容是別人的修改朝刊。
修改完兩個(gè)文件后分別將文件git add添加到暫存區(qū)
$ git add LocationController.java
$ git add SysService.java
然后統(tǒng)一git commit將修改合并的文件添加到工作區(qū):
$ git commit -m "conflictJava"
再用git status -uno查看文件狀態(tài)
發(fā)現(xiàn)Unmerged path文件已經(jīng)沒有了耀里,我們直接git push提交到遠(yuǎn)程倉庫:
$ git push origin master