1、Git保存的不是文件的差异或者变化量,而只是一系列文件快照(File Snapshot);
 
2、暂存操作会对每一个文件计算校验和(SHA-1哈希字符串),然后把当前版本的文件快照保存到Git仓库中(Git使用blob类型的对象来存储这些快照),并将校验和加入到暂存区;
 
3、Git中分支,其实本质上是个指向Commit对象的可变指针。Git会使用master最为默认的分支名称。在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交时都会自动向前移动;
 
4、Git是如何知道当前在哪个分支上工作的呢?答案很简单:它保存着一个名叫HEAD的特别指针(HEAD指针是一个指向你正在工作中的本地分支的指针);
 
5、运行git branch命令仅仅是创建了一个新的分支,但不会自动切换到这个分支中去;
 
6、git checkout master命令做了2件事:
6.1、把HEAD指针指向master分支;
6.2、把工作目录中的文件替换成master分支所指向的快照内容。
 
7、Git中的分支实际上仅是一个包含所指对象校验和(40个字符长度SHA-1字符串)的文件,所以创建和销毁一个分支就变得十分廉价;
 
8、对于HotFix采取如下的流程来处理:
8.1、返回原先已经发布到生产服务器上的分支;
8.2、为这次紧急修补建立一个新分支,并在其中修复问题;
8.3、通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上;
8.4、切换到之前实现新需求的分支,继续工作。
 
9、对于2个分支没有直接的祖先对象,按如下方式进行合并:
9.1、Git没有简单地将指针向右移动;
9.2、将三方(比如:C4、C5、C2)合并后的结果重新做一个新的快照,并自动创建一个指向它的提交对象(比如为:C6),这样提交对象(C6)比较特殊,它有两个祖先(C4和C5);
 
10、查看各个分支最后一个提交对象的信息,运行:git branch -v
 
11、查看已于当前分支合并的分支,运行:git branch --merged
 
12、查看未与当前分支合并的分支,运行:git branch --no-merged
 
13、特性(Topic)分支:一个短期的用来实现单一特性或与其相关工作的分支,在Git中,一天之内建立、使用、合并再删除多个分支是常见的事;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Git分支(本地)的更多相关文章

  1. Git新建本地分支与远程分支关联问题:git branch --set-upstream

    Git新建本地分支与远程分支关联问题:git branch --set-upstream git在本地新建分支, push到remote服务器上之后,再次pull下来的时候,如果不做处理会报以下提示: ...

  2. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  3. 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  4. git创建本地分支以及推送本地分之至远程分支

    Git分支策略 实际开发中,应当按照以下几个基本原则进行管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能再上边干活. 那在哪干活呢?干活都在dev分支上,也就是说,de ...

  5. git 删除本地分支、远程分支、本地回滚、远程回滚

    一. git 删除分支 1. git 删除本地分支 git branch -D branchname 2. git 删除远程分支 git push origin :branchname (origin ...

  6. git提交本地分支到远程分支

    git提交本地分支到远程分支   git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/j ...

  7. 使用Git进行本地提交后,未上传提交,却不小心删除了本地提交或提交所在分支,怎么办?????

    使用Git进行本地提交后,未上传提交,却不小心删除了本地提交或提交所在分支,怎么办????? 不要紧!!!! 可以使用git reflog命令来帮助恢复删除的本地提交! 运行以下命令你就知道怎么用了! ...

  8. 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...

  9. Git新建本地分支与远程分支关联问题:git branch --set-upstream【转】

    本文转载自:http://blog.csdn.net/netwalk/article/details/21088405 Git新建本地分支与远程分支关联问题:git branch --set-upst ...

  10. Eclipse本地创建新的GIT分支,并推送至远程Git分支

    本地创建新的GIT分支: 1.右击要创建新分支的项目——Team——Switch To——New Branch…: 2.在弹出的对话框中name框中输入要创建的分支名称,(如果是当前显示的要拷贝的分支 ...

随机推荐

  1. KnockoutJS 3.X API 第三章 计算监控属性(4)Pure computed observables

    Pure computed observables Pure computed observables是KO在3.2.0版本中推出的.她相对于之前的ComputedObservables有很多改进: ...

  2. 如果正确读取SQL Server中的扩展事件?

        SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果 ...

  3. 队列-java代码

    public class QueueDemo { private int maxSize; private long[] queueArray; // 队列的头,实际是数组的尾 private int ...

  4. CardLayout布局练习(小的图片浏览器)

    /* 涉及Panel中的图片的加载,还有Frame的关闭的方法, CardLayout(int hgap, int vgap)就会决定卡片面板的大小 匿名类的使用... */ import java. ...

  5. Unity3D重要知识点

    数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的Demo. 1.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作. 渲染管道 ...

  6. 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题

    今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...

  7. CSS命名

    CSS命名规范 CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体:main 页尾:footer 导航:n ...

  8. Anliven - 解决问题的一些方法

    How to resolve the problem? 获取基本的相关信息(后续处理问题的基础)  在怎样的背景环境下?发生了怎样的问题? 如果无法清楚地辨别或陈述问题的基本信息,那么,此时要面对的将 ...

  9. Nodejs学习笔记(一)——初识Nodejs

    前言:目前工作的分内之事相对较为单一,希望可以通过工作之余的时间给自己充充电,只是没有一个学伴或大神带,只能说是摸索着前进.起初准备好好研究下Spring这个框架,下载了源码,结合书籍准备一探究竟,看 ...

  10. 天气webservices

    Web现状 Web服务 概念 具有web服务 构成 UDDI WSDL 天气预报 web服务现状     记的以前看VB.NET时中间就介绍了WSDL,而今又学到web服务,所以用天气预报的实例学习一 ...