git的分支是一个版本库。检出分支分支会影响暂存区和工作区的内容。

创建分支:git branch [testing]

检出分支:git checkout [testing]

创建并且检出分支:$git checkout -b iss54

  检出分支之前最后将没有提交的暂存区暂存区和工作区提交,清空

  检出分支会将工作区内容恢复外围检出某分支时它所指向的commit的快照

合并分支:

  $ git merge [branch-name]

删除分支: $ git branch -d [branch-name]

合并冲突:

  出现冲突:两个分支都针对同一文件做出不同修改

    CONFICT :merge conflict in index.html

  $git status差略合并的冲突文件

      unmerged:index.html 冲突文件以unmerged状态列出

合并文件内容

    1、<<<HEAD...

    2、=====

    3、>>>is553

  1~2之间为原分支内容,2~3为新增分支的内容

分支管理:

  $git branch 列出当前所有分支的清单 *所在表示当前所在分支

  $git branch -v 查看各分支最后一次commit信息

  $git branch --merged 查看哪些分支已经被合并入当前分支

  $git branch --nomerged 查看尚未合并的分支

  $git branch -D testing  强制删除分支

远程分支

  远程分支(remote branch)是对远程仓库状态的索引

  git push (远程分支名)(分支名) 提取本地分支并更新对应的远程仓库的指定分支

  git fetch   git fetch抓取远程分支信息,存在本地的远程分支缓存

  将远程分支内容合并到当前分支: git merge origin/serverfix

  从远程分支基础上分化新分支:git checkout -b serverfix origin/serverfix 这样分化出来的分支就是该远程分支的跟踪分支

跟踪分支:

  从远程分支检出的本地分支被称为跟踪分支(tracking branch)。在跟踪分支里,git push 会自动判断向指定分支推送数据,git pull会自动获取所有远程索引

  clone后的本地master分支就是一个跟踪分支

  创建跟踪分支:git checkout -b [分支名] [远程名/分支名]

git branch -vv:查看所有的跟踪分支以及它们的跟踪对象

衍合

  把一个分支整合到另一个分支的方法有两种:merge(合并)、rebase(衍合)

  merge命令:把两个分支最新快照以及二者最新的共同祖先进行三方合并

  衍合rebase:将c3的变化补丁重新再c4的基础上打一遍

  git rebase [分支名]

  git rebase --onto master server client 检出client分支,找错client分支和server分支共同祖先的变化,然后把它们在master上冲演一遍

  $git rebase [主分支] [特性分支] ,会先检出特性分支,然后再在主分支上重演

  

  

git分支的更多相关文章

  1. Git 分支

    Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照,某一次的提交指向这处时刻的文件快照,看起来就像每次提交都保存了当时的文件,连续的提交形成一条长链 分支 指向某一个特定的提交,不同的 ...

  2. Git分支管理

    一.Git分支的使用 查看分支: git branch 创建分支: git branch branch1 切换到branch1 git checkout branch1 再用git branch查看, ...

  3. Git分支的前世今生

    摘自Jack__CJ  CSDN博客,写得很好,保存一下. 导读 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系 ...

  4. GIT分支管理模型

    GIT分支管理模型 link: git-branching-model 主分支(Main branches) 项目两个常驻分支: master 主干分支(锁定),仅用于发布新版本,平时不能在上面干活, ...

  5. Git详解之三 Git分支

    相关文档 — 更多 Git 基础培训.ppt GIT 使用经验.ppt GIT 介绍.pptx GIT 分支管理是一门艺术.docx Eclipse上GIT插件EGIT使用手册.docx git/gi ...

  6. git初体验(三)git分支

    分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了. 你创建了一个 ...

  7. 如何在终端实时展现git分支

    在微博上看到ghosTM55在终端可以实时展现出当前运行的分支,觉得很奇特,于是google了一把.这里面存在两个内容,第一个bash,第二个是git bash基础: 了解到linux的shell存在 ...

  8. php 通过exec 创建git分支失败

    今天给我们自己的发布系统增加一个新建分支的功能,操作比较简单,但是使用php执行shell命令的时候总是无法push分支到远程,但是登陆服务器执行却是可以的 新建分支命令如下 git fetch -- ...

  9. 开发与测试整体过程中的Git分支merge流程

    开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...

  10. Git 分支管理是一门艺术

    转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...

随机推荐

  1. Xcode7 模拟器安装app (转)

    本文转自同事zz的博客http://archerzz.cn/ios/xcode-install-app.html 原由 很多时候,为了学习了解别人的app,很多时候我们是直接拿别人的app安装在自己的 ...

  2. /boot/grub/device.map【设备映射】

    grub-install 安装 GRUB 在第一个硬盘的 MBR: # grub-install '(hd0)' grub-install 会先搜寻设备对应的文件(/boot/grub/device. ...

  3. /proc 【虚拟文件系统】

    在安装新硬件到 Linux 系统之前,你会想要知道当前系统的资源配置状况. Linux 将这类信息全集中在 /proc 文件系统下./proc 目录下的文件都是 Linux 内核虚拟出来的,当你读取它 ...

  4. javascript控制cookie

    参考:http://www.cnblogs.com/ly312/archive/2010/07/14/1777190.html function getCookies(name) { var arr ...

  5. cmd命令行提示符

    cd..用来返回上层到目录 cd download(某一具体文件夹)进入此文件夹中的一个文件夹 进入命令行时直接输入D: 进入D盘 dir 显示文件目录

  6. eclipse遇到不会部署的情况

    1.先看下右下角有没有在进行的进程,例如validating  验证中.那就关闭验证的选项 2.看下problem栏有没有问题.会导致building不了.

  7. 11.10 Taolu1234组信息汇总

    团队名称: Taolu1234 团队选题: <餐厅到店点餐系统>WEB版 团队博客地址: http://www.cnblogs.com/queenjuan/ 团队GITHUB地址: htt ...

  8. Codeforces Round #372 (Div. 2) C. Plus and Square Root

    题目链接 分析:这题都过了2000了,应该很简单..写这篇只是为了凑篇数= = 假设在第级的时候开方过后的数为,是第级的系数.那么 - 显然,最小的情况应该就是, 化简一下公式,在的情况下应该是,注意 ...

  9. [原创]WPF资源Binding自定义集合类。

    简单介绍一下Wpf资源字典: 每个WPF界面元素都有一个名为Resource的属性,这个属性继承至FrameworkElement类,其类型为ResourceDictionary.ResourceDi ...

  10. winform flash

    1.开发工具:VS2013 2.开发环境:win 10 64位 3.添加控件: 打开VS,点击工具箱--常规--右键--“选择项”---“Com组件”--MacroMedia Flash Factor ...