开发中经常遇到git冲突,有时在自己要提交代码时,发现别人已经提交了,这时就要先更新别人的代码才能提交,但自己又修改了同一个文件,应该如何简单处理呢?
方式一:存储本地修改的内容
git stash
这句命令就是将本地修改的代码做一份备份存储起来,可以用git stash list 查看刚刚备份保存的内容:
![](https://img.haomeiwen.com/i12185313/c3691787007ed0fc.png)
其中stash@{0}就是刚刚备份存储的标记
pull内容
将本地代码做了备份保存后,就可以pull远端代码
git pull
还原备份暂存的代码
git stash pop stash@{0}
stash@{0}是你刚刚备份存储的标记
这时候系统会提示类似以下的信息:
![](https://img.haomeiwen.com/i12185313/6c0f01ac562fab2b.png)
如果有冲突就会有如下提示:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
这个提示内容意思就是系统自动合并修改的内容,但是当中会有冲突,需要解决其中的冲突。
解决文件中的冲突内容
打开上面提示的冲突文件,会看到类似的内容:
![](https://img.haomeiwen.com/i12185313/90872658739cc9ac.png)
冲突代码分两部分,Updated upstream表示远程的代码,Stashed changed表示是本地暂存的代码,根据具体情况合并代码即可。
方式二:打Commit再pull
将本地代码直接打包Commit,再pull远程的代码,此时若没有冲突会自动合并远程的代码,若有冲突则会有如上面的提示一样,如哪个文件有冲突需要手动修改等,此时就需要像上面一样手动调整代码合并了。
网友评论