Git 分支管理-创建与合并
2017-02-21 13:10
344 查看
上一篇博客讲了即时分支合并是git的杀手锏,Git是非常鼓励大家使用分支的,日常开发中打断你思维的连续性是会大大降低生产力的,并且切换上下文也更繁琐,更大的损失。使用中心版本控制我们必须从中心服务器下载一个新的工作拷贝,而分布式系统就好多了,我们可以从本地克隆所需的版本。但是克隆仍然需要拷贝整个工作目录,还有直到给定点的整个历史记录。尽管Git使用文
件共享和硬链接减少了花费,项目文件自身还是必须在新的工作目录里重建。
Git有一个更好的工具对付这种情况,比克隆快多了而且节省空间:git branch。下边我们就逐步讲解branch的常用的操作。
1.查看分支:git branch
如果没有其他参数,则显示的是本地分支,参数 -a
是显示本地和远程分支,-r是显示远程分支,*号表示当前分支。如下:
zxdeMacBook-Pro:hswallpager zs$ git branch
* master
zxdeMacBook-Pro:hswallpager zs$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
zxdeMacBook-Pro:hswallpager zs$ git branch -r
origin/HEAD -> origin/master
origin/develop
origin/master
2.创建分支:git branch branchName
zxdeMacBook-Pro:hswallpager zs$ git branch develop
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* master
上述建立一个develop分支,我们查看一下本地分支,分支仍然在master分支,那有没有新建分支后,自动切换到新建分支呢,先说切换分支吧。
3.切换分支:git checkout branchName
zxdeMacBook-Pro:hswallpager zs$ git checkout develop
Switched to branch 'develop'
zxdeMacBook-Pro:hswallpager zs$ git branch
* develop
master
注意看*号,已经指向develop。接着上述,我们创建并切换分支feature,创建+切换 使用 git checkout -b feature
zxdeMacBook-Pro:hswallpager zs$ git checkout -b feature
Switched to a new branch 'feature'
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* feature
master
4.合并分支:git merge branchName
我们在开发分支上修改代码,commit等等,在master上是看不到这些操作的,我们需要把develop分支代码提交到master分支。这还是就需要合并分支。
合并分支的步骤以develop合并到master为例:
(1)先切换到master :git checkout master
(2)合并develop分支 :git merge develop
zxdeMacBook-Pro:hswallpager zs$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 6 commits.
(use "git push" to publish your local commits)
zxdeMacBook-Pro:hswallpager zs$ git merge develop
Auto-merging app/src/main/*****/Activity.java
CONFLICT (content): Merge conflict in app/src/main/*****/Activity.java
Automatic merge failed; fix conflicts and then commit the result
上边代码可以看到,合并后是有冲突的。这就要先解决合并冲突,这个咱们放到下一篇讲解。
5.删除本地分支 :git branch -d branchName
zxdeMacBook-Pro:hswallpager zs$ git branch -d feature
Deleted branch feature (was 41754e3).
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* master
删除远程分支 :git push origin :<branchName>
简单做个小结吧:
(1)查看分支: git branch , git branch -r, git branch -a
(2)切换分支:git checkout branchName
(3)删除分支:git branch -d branchName
合并冲突咱们放到下一篇讲解,因为合并时遇到冲突在正常不过,下一篇详解讲解下。
件共享和硬链接减少了花费,项目文件自身还是必须在新的工作目录里重建。
Git有一个更好的工具对付这种情况,比克隆快多了而且节省空间:git branch。下边我们就逐步讲解branch的常用的操作。
1.查看分支:git branch
如果没有其他参数,则显示的是本地分支,参数 -a
是显示本地和远程分支,-r是显示远程分支,*号表示当前分支。如下:
zxdeMacBook-Pro:hswallpager zs$ git branch
* master
zxdeMacBook-Pro:hswallpager zs$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
zxdeMacBook-Pro:hswallpager zs$ git branch -r
origin/HEAD -> origin/master
origin/develop
origin/master
2.创建分支:git branch branchName
zxdeMacBook-Pro:hswallpager zs$ git branch develop
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* master
上述建立一个develop分支,我们查看一下本地分支,分支仍然在master分支,那有没有新建分支后,自动切换到新建分支呢,先说切换分支吧。
3.切换分支:git checkout branchName
zxdeMacBook-Pro:hswallpager zs$ git checkout develop
Switched to branch 'develop'
zxdeMacBook-Pro:hswallpager zs$ git branch
* develop
master
注意看*号,已经指向develop。接着上述,我们创建并切换分支feature,创建+切换 使用 git checkout -b feature
zxdeMacBook-Pro:hswallpager zs$ git checkout -b feature
Switched to a new branch 'feature'
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* feature
master
4.合并分支:git merge branchName
我们在开发分支上修改代码,commit等等,在master上是看不到这些操作的,我们需要把develop分支代码提交到master分支。这还是就需要合并分支。
合并分支的步骤以develop合并到master为例:
(1)先切换到master :git checkout master
(2)合并develop分支 :git merge develop
zxdeMacBook-Pro:hswallpager zs$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 6 commits.
(use "git push" to publish your local commits)
zxdeMacBook-Pro:hswallpager zs$ git merge develop
Auto-merging app/src/main/*****/Activity.java
CONFLICT (content): Merge conflict in app/src/main/*****/Activity.java
Automatic merge failed; fix conflicts and then commit the result
上边代码可以看到,合并后是有冲突的。这就要先解决合并冲突,这个咱们放到下一篇讲解。
5.删除本地分支 :git branch -d branchName
zxdeMacBook-Pro:hswallpager zs$ git branch -d feature
Deleted branch feature (was 41754e3).
zxdeMacBook-Pro:hswallpager zs$ git branch
develop
* master
删除远程分支 :git push origin :<branchName>
简单做个小结吧:
(1)查看分支: git branch , git branch -r, git branch -a
(2)切换分支:git checkout branchName
(3)删除分支:git branch -d branchName
合并冲突咱们放到下一篇讲解,因为合并时遇到冲突在正常不过,下一篇详解讲解下。
相关文章推荐
- Git:分支的创建、合并、管理和删除
- git教程4(分支管理)创建与合并分支、Bug分支、Feature分支——廖雪峰老师
- [廖雪峰] Git 分支管理(1):创建与合并分支(HEAD、master、dev、指针)
- git代码管理—创建分支、合并分支、回滚代码
- git分支管理之创建与合并分支
- GIT 分支管理:创建与合并分支、解决合并冲突
- GIT 分支管理:创建与合并分支、解决合并冲突
- git分支合并创建管理
- GIT 分支管理:创建与合并分支、解决合并冲突
- Git教程----5.0分支管理 5.1创建与合并分支 5.2解决冲突 5.3分支管理策略 5.4Bug分支 5.5Feature分支 5.6多人协作
- GIT 分支管理:创建与合并分支、解决合并冲突
- git 分之管理---创建与合并分支
- Git基础之(十三)——分支管理——创建与合并分支
- 【GIT 基础篇六】分支管理(创建与合并)
- 2016/01/13开始学习git:分支管理:创建、合并、删除分支
- GIT 分支管理:创建与合并分支、解决合并冲突
- 源码管理十一:创建&&合并&&删除 分支
- git分支创建分支删除分支合并
- windows下git的安装、配置与操作(七)——git创建与合并分支(转载自廖雪峰)
- git从版本库创建、从远程克隆或本地新建,配置KEY,合并分支到提交到远程版本库等步骤