当前位置: 首页 > article >正文

Git的简单使用(二)分支管理

分支管理

在实际的软件开发环节中(虽然我还没有真正开发过),我们会遇到这样一些问题:假如我们采用的敏捷开发模式,需要让当前的每一个版本都是可用的。如果给我们分配了某个任务,让自己完成,你在写代码的时候,如果一次写不完,代码提交到主分支以后,可能会造成主分支上整个代码不能正常测试运行,所以我们就需要使用分支,几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。下面就是一个分支的简单模型:

那么分支常用的命令有什么呢?

列出分支:

基本命令:git branch

没有参数时,git branch 会列出你在本地的分支。

此例的意思就是,我们有一个叫做 master 的分支,并且该分支是当前分支。

当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。

如果我们要手动创建一个分支。执行 git branch (branchname) 即可。

      

          现在我们已经拥有了我们的一个分支test,那么我们怎么切换到现在的分支呢?

          git checkout (branch name)

其实还有一个更为简单的命令:

git checkout -b <branch-name>

这个命令就是新建分支,并切换到新建的分支上

然后,我们就可以在新建的这条分支上写代码,创建文件之类的操作,

我们新建了一个文件,然后我们切换到master主分支上看看有没有这个文件

master上没有这个文件,使用分支将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换。

现在我们将分支上的事情做完了,需要将分支和主分支进行合并,怎么办呢?

git merge <branch-name>

那我们再看看test分支上的文件和修改是否在主分支上呢?

如果我们在分支上的某件事做完了,要删除掉这个分支,可以使用这个命令:

git branch -d <branch-name>

合并是挺好的,但是有时候会发生冲突:也就是你提交了两次,合并的时候Git不知道应该合并哪个,还是两个都合并,此时需要我们手动解决冲突:

我们还是新建一个分支,并切换到新的分支上:

接着我们在新的分支上对test文本文件进行修改:

然后我们切换到主分支上,我们可以看到主分支上的文件还是原来的版本:

 

接着我们在主分支上再对文件进行修改:

同时我们再对文件进行提交合并:

这时候我们会看到提示信息,提示我们自动合并失败了,就需要我们进行手动合并,先打开文件,可以看到冲突内容:

接着我们打开文件,进行手动合并文件:

最后我们需要进行提交,告诉Git冲突已经合并。

http://www.lryc.cn/news/2419883.html

相关文章:

  • 你女朋友也能读懂的LAMP架构
  • 基于django的网上电影系统,附源码
  • Windows内核对象(3) -- DuplicateHandle实现文件占用
  • .NET(C#) 基础教程及进阶教程
  • jquery按钮置灰_点击提交按钮后按钮变灰色不可用状态的三种方法
  • 【转】数据脱敏、加密、假名化、去标识化与匿名化的区分
  • Windows7系统关闭端口
  • ajaxfileupload的使用实例
  • CSS之 border 属性
  • MFC EnableWindow() 启用和禁用控件(设置个控件或窗口可用/不可用),ShowWindow()使某个控件或窗口(显示/不显示)可见/不可见
  • 谷歌地图API
  • 【openstack】Nova(Folsom)虚拟化层Driver分析
  • [1166]CDH集群删除主机节点
  • 怎么利用tombstones墓碑文件分析崩溃问题
  • 最简单的视频网站(JavaEE+FFmpeg)
  • Linux——简介
  • JavaEE进阶(12)Spring事务和事务传播机制:事务回顾、Spring中事务的实现、@Transactional详解(用法、rollbackFor、事务隔离级别、事务传播机制)
  • W5100常见问题解答汇总(持续更新中)
  • Vue 点击进入下一页,下一页从顶部开始
  • 3D 建模中的法线贴图解释
  • Rational rose下载,安装,破解
  • http常见状态码汇总
  • 网页设计基础
  • 个人中心页面如何设计,一文教会你,有案例。
  • 计算机网络知识点总结
  • WinForm(一) WinForm入门与基本控件使用
  • 无线网络通信技术完全介绍
  • XXOO 传说90黑阔论坛
  • XFire完整入门教程
  • 什么是IDP,如何制定个人IDP​计划