Git冲突,pull内容与本地已经有的内容冲突
$ git pull origin master
Username for 'https://git.oschina.net': xxx
From https://git.oschina.net/xxx/gittest
* branch master -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge: fff.txt
Please commit your changes or stash them before you merge.
Aborting
Updating 5581e8f..b9123fc
问题解决思路
上面pull 拉下来的东西跟我们本地的内容是有了冲突了,这个时候我们要先暂存,再pull,再恢复暂存的内容,恢复后会把pull下来和本地的同时存在,然后我们自己手动去解决冲突就好了。手动解决完了冲突再正常add,commit,push到远程端就好了。
下面开始解决冲突
1.把本地已有的内容单独压入栈
我们先暂存,用stash命令暂存,注意这个stash和add到的暂存不是同一概念。git stash将会把当前目录和index中的所有改动(但不包括未track的文件)压入一个栈,然后留给你一个clean的工作状态,即处于上一次最新提交处。所以我们执行了stash后才能正常pull,然后恢复stash的栈里