《Pro Git》第3章 分支
- 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 -d删除,因为已经将其整合到另一个分支了,所以不会失去任何东西
- git branch --no-merged:查看哪些分支尚未合并到当前分支
- 这些分支因含有尚未合并的工作,(在当前分支)使用git branch -d删除时会失败
- 强制删除 git branch -D [branch-name]
- git branch --merged:查看哪些分支已经合并到当前分支
- 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章 分支的更多相关文章
- [Git01]Pro Git 第三章 分支 读书笔记
[git]分支 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来. Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在 ...
- 【Tools】Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- [Git00] Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- Pro Git 第一章 起步 读书笔记
Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下 ...
- 《Pro Git》笔记3:分支基本操作
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...
- 《Pro Git》阅读随想
之前做版本管理,我使用最多的是SVN,而且也只是在用一些最常用的操作.最近公司里很多项目都开始上Git,借这个机会,我计划好好学习一下Git的操作和原理,以及蕴含在其中的设计思想.同事推荐了一本< ...
- Pro Git CN Plus
Git — The stupid content tracker, 傻瓜内容跟踪器.Linus 是这样给我们介绍 Git 的. Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 ...
- 《Pro Git》轻松学习版本控制
转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...
- Pro Git(中文版)
Pro Git(中文版) 返回 Git @ OSC 目录 1.起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 Git 前的配置 1.6 ...
随机推荐
- js 数组求和,多种方法,并比较性能
可以借用下面12种方法对数组求和,创建一个长度为10w的数组,进行测试 every() 检测数值元素的每个元素是否都符合条件. filter() 检测数值元素,并返回符合条件所有 ...
- 阿里面试经历JAVA总结
为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师. 一面主要问题如下: 1)首先自我介绍 2)数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题 3)对一个数 ...
- python中的self
1.首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的.self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数. self名称不是必须的,在python中se ...
- JZOJ.5275【NOIP2017模拟8.14】水管
Description
- git GUI 入门
一:安装一个git 及gui 二:配置gui及线上的git链接 在Git Gui中,选择Remote->add添加远程服务器,远程服务器信息有两种填写方式,填写https地址或ssh地址,对应g ...
- 【BZOJ4145】[AMPPZ2014]The Prices 状压DP
[BZOJ4145][AMPPZ2014]The Prices Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i ...
- 160812、apache milagro分布式安全认证系统
java32位.64位及js的代码:http://pan.baidu.com/s/1cqnwuE 一.云链接为中心的软件及需要互联网规模物联网设备 二.利用双线性密码学分发加密操作和分裂的加密参数 三 ...
- Express入门教程:一个简单的博客
来自: http://ourjs.com/detail/56b2a6f088feaf2d031d2468 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, ...
- vitess数据中心迁移步骤
在使用vitess的时候我们会遇到刚开始所有的元数据都在同一个ETCD集群中,后续随着业务的增长需要进行数据中心拆分: 分别拆分成多个Local集群的数据中心: 以下就简单说明下迁移步骤: 迁移拓扑图 ...
- HTML5 云知梦自觉,记录知识 点
第一章(1--3) 文档类型:<!doctype html> 网站代码结构:<html> <head> <meta charset="UTF-8&q ...