网上好多讲这个事情,相信大部分也只是把git看成版本管理工具,代码冲突必然遇到很多,对于追求elegant solution的人来讲确定不肯意更新再修改,目前还不是很懂git原理,还在尝试更加elegant的方法,目前用这个能够。想更深刻了解git原理及使用的能够看pro git,连接以下。html
https://git-scm.com/book/zh/v2git
首先三个区,暂存区,工做区,和本地库。基本原理就是把当前修改stash,而后pull最新代码,最后在stash pop而后手动解决conflict。服务器
1: git stash //暂存代码工具
2: git pull 分支名//从远程仓库拉取最新代码htm
3: git stash pop //合并代码到本地仓库 此时代码是将暂存的代码和远程仓库的代码合并,以下图:blog
4:这时候须要手动修改合并所需的代码便可。get
5:git stash clear//须要清空git栈执行该命令博客
git stash: 备份当前的工做区的内容,从最近的一次提交中读取相关内容,让工做区保证和上次提交的内容一致。同时,将当前的工做区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工做区的相关内容。因为可能存在多个Stash的内容,因此用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的全部备份,能够利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了it
参考博客:http://www.cnblogs.com/qinbb/p/5972308.htmlio
2、git误删工做区文件
git checkout filename
接从本地把文件checkout出来就能够了,用不着从远程服务器上pull下来,由于,全部的历史版本你的本地都有的。 具体作法 git checkout file 同时恢复多个被删除的文件: