文章转自:http://www.cnblogs.com/wnbahmbb/p/6568179.html
以前总是由于自己的自身的原因,对于每一次的git的操作,我都是通过eclipse或者是idea来进行的,但是
我每一次都不是很清楚的关于这些方面的操作,现在我们来进行关于git bash的操作,正是由于这些操作使
的自己对于git的操作有了一个比较清晰的认知了,首先我们先看一张图:
首先我们必须要先理解这几个概念:暂存区,本地仓库,远程仓库
首先暂存区这个是我们每一次进行代码修改的地方,例如我们ieda的所编译的代码就是缓存区
本地仓库:是我们每一次pull,从远程仓库pull(拉取)到地方,这个地方就是本地仓库 ,他其实就是
远程仓库的一个副本
远程仓库:这个是存放到服务器上的代码,是每一个人认为自己的代码修改好了,就可以集体上传
到一个地方,而你也可以从这个地方下载别人的代码,这个地方就是远程仓库。
我们接下来就来介绍一下使用情况,
Master:主分支
wangjing18-dev:Master分支,这个是存放博主的代码的地方
Stanging:Master分支,这个是我们集体存放测试代码的分支
例如:你有一个项目,你在本地测好了,但是你想放到线上服务器
但是你又不确定没有bug,则这个时候你可以把代码放入到线上的
测试环境上面,这个时候是线上的测试环境,可以让测试人员也可
以访问的到。
然后我们来介绍这个图的意思:
pull:这个是远程仓库拉取数据到本地仓库,就是为了和远程仓库所匹配
commit:当我们想要把自己的代码想要提交到远程的时候,所用的命令行语句,由于我们修改所在的区域在暂存区
我们首先要把自己的代码commit(提交)到本地仓库,然后在从本地仓库push到远程仓库,但是切记住一点,我们如
果每一次在commit的时候,我们都需要先从线上pull最新的代码到本地仓库,然后在把暂存区里面的代码提交到本地
仓库,这个时候如果没有冲突固然是最好的,如果有了冲突,这我需要解决冲突,这个此时本地仓库已经是最新的代码
且又包括暂存区上面的代码了
push:这个就是我们前面把代码提交到了本地,如果我们需要提交到远程服务器上,则需要把代码push到远程的分支里
面,如果有了冲突,再解决就好了
其中merge:如果有两个分支里面的代码在同一个区域中(两个同时隶属于暂存区,或本地仓库,或远程仓库),这个时候
如果我们想要把这个两个分区合并,这个也就是所谓commit,只不过这个不跨区域,此时我们把wangjing18-dev的这
个分支mergeStanging,此时这个mergeStanging就有了wangjing18-dev的代码,然后我们在commit,然后在push,
则这个样子就可以了这个就是git的简单的使用原理