• 1.分支简介

    • git保存的不是文件的差异,而是不同时刻的文件快照
    • git仓库中的对象:
      • commit对象:包含指向前一个commit的指针的所有提交信息
      • 树对象:记录目录结构和blob对象索引
      • blob对象:保存着文件快照
    • HEAD指针:指向当前所在的本地分支,可认为是当前分支的别名
      • git log --oneline --decorate 使用--decorate查看各个分支当前所指的commit对象
      • git log --oneline --decorate --graph --all ,它会输出你的提交历史、各个分支的指向以及项目的分支分叉情况。
  • 2.分支的新建与合并
    • 常用命令

      • git branch [branch-name]:创建新分支,但不切换
      • git chekcout [branch-name]:切换到分支,HEAD指针将指向指定分支
      • git checkout -b [branch-name]:创建新分支,并切换分支,相当于上面命令的和
      • git branch -d [branch-name]:删除分支
    • 分支合并
    • 冲突解决
  • 3.分支管理(完结)
    • git branch:显示所有分支,*是当前HEAD指向的分支
    • git branch -v:显示所有分支,并显示每个分支的最后一次提交(v指的是verbose)
    • 查看已合并或未合并到当前分支的分支
      • git branch --merged:查看哪些分支已经合并到当前分支

        • 通常列表中分支前没有*号的分支可以使用git branch -d删除,因为已经将其整合到另一个分支了,所以不会失去任何东西

      • git branch --no-merged:查看哪些分支尚未合并到当前分支
        • 这些分支因含有尚未合并的工作,(在当前分支)使用git branch -d删除时会失败
        • 强制删除 git branch -D [branch-name]
  • 4.分支开发工作流(完结)
    • 长期分支:仅在master分支上保留完全稳定的代码
  • 5.远程分支(完结)
    • 基本原理

      • 远程仓库:远程仓库中master分支
      • 本地仓库:
        • master为本地分支,用于保存本地主分支进度
        • origin/master为本地的跟踪分支,用于跟踪远程的master分支
        • 注意:本地的origin/master可能不与远程master相同,需使用git pull同步
    • 显示远程分支信息
      • git ls-remote:获取远程引用的完整列表
      • git remote show:显示远程分支信息
    • 推送
      • git push origin local-name:remote-name
      • 示例:git push origin aaa:bbb 推送本地aaa分支到origin仓库的bbb分支
    • 拉取
      • git pull
    • 删除远程分支
      • git push origin --delete remote-name
  • 6.变基(git rebase暂时忽略)

《Pro Git》第3章 分支的更多相关文章

  1. [Git01]Pro Git 第三章 分支 读书笔记

    [git]分支   Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来. Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在 ...

  2. 【Tools】Pro Git 一二章读书笔记

    记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   ...

  3. [Git00] Pro Git 一二章读书笔记

    记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧.   Pro Git (Scott Chacon) 读书笔记:   ...

  4. Pro Git 第一章 起步 读书笔记

    Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下 ...

  5. 《Pro Git》笔记3:分支基本操作

    <Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...

  6. 《Pro Git》阅读随想

    之前做版本管理,我使用最多的是SVN,而且也只是在用一些最常用的操作.最近公司里很多项目都开始上Git,借这个机会,我计划好好学习一下Git的操作和原理,以及蕴含在其中的设计思想.同事推荐了一本< ...

  7. Pro Git CN Plus

    Git — The stupid content tracker, 傻瓜内容跟踪器.Linus 是这样给我们介绍 Git 的. Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 ...

  8. 《Pro Git》轻松学习版本控制

    转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...

  9. Pro Git(中文版)

    Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...

随机推荐

  1. js 数组求和,多种方法,并比较性能

    可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every()       检测数值元素的每个元素是否都符合条件. filter()      检测数值元素,并返回符合条件所有 ...

  2. 阿里面试经历JAVA总结

    为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师. 一面主要问题如下: 1)首先自我介绍 2)数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题 3)对一个数 ...

  3. python中的self

    1.首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的.self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数. self名称不是必须的,在python中se ...

  4. JZOJ.5275【NOIP2017模拟8.14】水管

    Description

  5. git GUI 入门

    一:安装一个git 及gui 二:配置gui及线上的git链接 在Git Gui中,选择Remote->add添加远程服务器,远程服务器信息有两种填写方式,填写https地址或ssh地址,对应g ...

  6. 【BZOJ4145】[AMPPZ2014]The Prices 状压DP

    [BZOJ4145][AMPPZ2014]The Prices Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i ...

  7. 160812、apache milagro分布式安全认证系统

    java32位.64位及js的代码:http://pan.baidu.com/s/1cqnwuE 一.云链接为中心的软件及需要互联网规模物联网设备 二.利用双线性密码学分发加密操作和分裂的加密参数 三 ...

  8. Express入门教程:一个简单的博客

    来自:  http://ourjs.com/detail/56b2a6f088feaf2d031d2468 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, ...

  9. vitess数据中心迁移步骤

    在使用vitess的时候我们会遇到刚开始所有的元数据都在同一个ETCD集群中,后续随着业务的增长需要进行数据中心拆分: 分别拆分成多个Local集群的数据中心: 以下就简单说明下迁移步骤: 迁移拓扑图 ...

  10. HTML5 云知梦自觉,记录知识 点

    第一章(1--3) 文档类型:<!doctype html> 网站代码结构:<html> <head> <meta charset="UTF-8&q ...