前言
工作两年多了,用git总会发生冲突。因为是嵌入式入的行一直在ubuntun里写代码 ,提交代码习惯了命令行敲命令。小乌龟软件据说很好用,后期学学。项目开发总遇到冲突,之前都是把自己的新写的代码拷出来。然后把修改的文件撤销,git pull拉代码。再把新代码写回去。为啥用这么土的方法呢?因为自己出身培训班,git、svn都是参加工作的时候接触的。面试的时候装杯说自己会用。遇到冲突了百度一下解决方法,也没 解决 明白。不是冲突没解决就是自己新写的代码没了。那时候刚入行工作任务又紧还得学别的技术,只能通过勤git pull来避免这个。实在绕不开就采用那中土方法。这一直是我心里的痛。如今南方已定,兵甲亦足。当奖率三军,挥师斩顽疾。
场景一、拉取远端分支代码时产生冲突
git pull后自动merge的时候提示了冲突
解决方案
1.git status 红色的代表有冲突 2.git diff 文件
查看冲突 <<<<<<< HEAD和=中间的是你自己的代码, ======= 和>>>>>>>中间的是其他人修改的代码。自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,= ,>>>>>>>这种标志。 3.git add 文件
改完后 的文件添加进暂存区 4.git commit 到此merger完成。代码已更新。想要 推送到远程分支的话 再git push。
场景二 、与远程分支都修改了同一个文件
git pull 的时候报这个错是因为别人跟你改动了同一个文件 git 不忍覆盖掉你的代码,让你处理好在pull。
解决方案
1.git stash 将你本地所有修改代码保存到临时堆栈区。 2.git pull 此时若有冲突重复场景一 3.git stash pop 将你之前保存的代码拉回到工作区,并且会自动merge。如果与新拉下来的代码有 冲突。那么重复场景一即可.
|