git操作:如何解决本地版本与远程仓库版本不一致的问题
·
日常开发中,由于一个项目可能有多个人维护,每个人开发不同的模板,造成别人提交了代码再当你提交代码时提示版本不一致,无法push。
解决办法:
1.首先将远程仓库的master(或dev)下载到本地的分支上
git fetch origin master:tmp
2.查看tmp分支与本地有什么不同
git diff tmp
3.将tmp分支与本地分支结合
git merge tmp
这时候可能会出现两种版本有冲突的界面:
第一种是显示“Merge branch ‘master’ ”这种,如果需求补充说明。则按键盘“i”,再输入内容,再按“Esc”退出编辑,再按“:”,输入“wq”进行保存,基本和linux的vim编辑文本的命令一样;
第二种会出现这种页面
用idea打开项目,看看有哪些文件有冲突,一般变红色的文件是有冲突的地方
第一步:在<<<<<<< <分支名> ======== >>>>>>>><分支名> 删掉,冲突代码自行合并修改
第二部:在这个界面
git add <已修改冲突文件>,比如pom.xml
git add xxx路径xxx.pom.xml
第三部:合并,注意:这里commit提交时不能带上文件
git commit -m "合并日志"
分支名由(first|MERGING)变成(first)说明合并成功
如果不知道怎么add冲突文件,可以先执行第三部,它会提示你哪些文件冲突没添加,再进行二、三部。
由于一个项目有多个人维护,不可能直接提交到远程master,那么我们就提交到远程分支上
git push origin master:dev
如果远程仓库上有dev分支,则直接提交到这个分支;如果没有,则创建。
4.最后别忘了删除分支
git branch -d tmp
补:本地切换分支为
git checkout dev # 切到dev分支
更多推荐
已为社区贡献1条内容
所有评论(0)