使用git和提交的代码有所冲突,用IDE自带的git工具功能多了反而不知道怎么下手,总怕会出现事故,所以还是老老实实的使用git,简洁好操作,而且网上提供的错误支持也比较多,我决定以后也都使用命令行的方式来解决,把每个git命令的作用尽量摸透,连一个工具都不能完美使用,还如何去自己写代码和设计软件。
首先我肯定是直接git pull拉取线上的代码,但是有冲突肯定会报错,然后我合并主分支git merge master
合并之后我们使用git status -uno查看一下状态:
有三种状态,已经commited的,还有就是Unmerged path路径下的文件,就是我们需要手动合并的,没有冲突的会Auto-merging(自动合并)
我们手动合并Unmerged path下的两个文件:
$ vim LocationController.JAVA
$ vim SysService.java
打开文件后会发现,代码中会被<<<<<<< 、=======、>>>>>>>包围,这是冲突标记:冲突标记<<<<<<< 与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
修改完两个文件后分别将文件git add添加到暂存区
$ git add LocationController.java
$ git add SysService.java
然后统一git commit将修改合并的文件添加到工作区:
$ git commit -m "conflictJava"
再用git status -uno查看文件状态
发现Unmerged path文件已经没有了,我们直接git push提交到远程仓库:
$ git push origin master