5. Merge(只在有冲突的时候)。有时候在我们想Push更新到服务器的时候,发现服务器上的版本已经有别人更新过了,即有新的其他人的Push记录没有下载到本地,这时需要我们先把别人的更改下载到本地,以确保自己是基于最新版提交的更改,才可以把本地的记录Push上去。如果别人修改的部分跟自己的部分没有重合,则应该可以自动地merge。
一种简单的merge方法如Github Client是先对自己的版本拷一个备份到别的目录,然后Discard Local Changes(即取消本地的更改,或称Revert),然后把Remote的changes更新到本地,然后再在最新版的基础上把自己的changes写上去。
另一种办法是在SourceTree里提供更高级的处理矛盾的方式,就是你直接修改本地的文件为想要的最新状态,然后把其标为已经Resolved(右键点击文件->Resolve Conflicts->Mark as Resolved),再提交的时候就会认为这个conflict已经被merged了,可以成功commit。
如果在使用过程之中遇到问题,可先查看所用的Git客户端的文档。之后如果有需要的话,我再讲解一下如何做tag/branch相关的操作,这就属于进阶的内容了。
GitHub 教程系列文章: