Git进阶

Git进阶

本地分支管理

一个项目如果是你一个人开发,那就没什么,反正就一份项目,你想做哪个模块就做哪个模块
但是这样子开发效率慢啊

要是两个人开发,开发效率提高一倍,那么怎么合并起来呢???

如果说两个人做的地方,刚好互不影响,那很简单,学过数学的人都知道,直接合并起来嘛

问题来了!!!

如果两个人做的地方有重复怎么办???一行一行对比,然后一行行改?还是说一个人做完再让另外一个人做?那这和一个人做有什么区别

这就太麻烦了

所以引入了分支管理!这是个好东西

Git进阶

创建分支

根据上图我们可以知道,我们首先是有一个主干的(称为master分支)

我们每次提交,会多一个新的节点

Git进阶

提交越多,master分支也会边长

创建分支的代码:(新的分支名字为dev)

git branch dev

Git进阶

我们可以看到一个*标记在master,这代表着我们操控着master分支
假设我们要切换分支:

git checkout dev

(我们也有一个更加方便的代码,创建分支同时切换到该分支上):

git checkout -b dev

接下来,我们执行一次提交

Git进阶

然后我又返回到master里再提交一次

Git进阶

合并分支

首先切换到master分支
将dev分支合并到master分支下

git merge dev

Git进阶

删除分支

git branch -d dev

Git进阶

GitHub上实现分支管理

上面说这么多,其实为了熟悉一下命令,还有通过一些图来表明,每个操作,到底发生了什么

接下来才是实际开发中会用到的,结合GitHub上讲解

首先我拉取一下我Github,我仓库里只有一个A.txt,里面有句Hello

我新建两个文件夹用来模拟两台电脑

Git进阶

** 接着做如下操作 **

Git进阶
Git进阶
然后把文件都添加到本地仓库中

接着在Git2里推送到github上的分支下

git checkout -b dev
git push -u origin dev

这样子在Github上就有分支了

接着Git去上传自己的到github的master下

git push -u origin master

在创建一个文件夹Git3

分别把两个分支拉下来

git clone 路径
进入仓库
git checkout dev 
git clone -b dev(分支名) 路径
git checkout master
git merge dev
git push -u origin master