• Git分支(本地)


    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中,一天之内建立、使用、合并再删除多个分支是常见的事;
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    C# 汉字转拼音(转)
    检测Sql Server服务器SQL语句执行情况
    查看sql执行的情况
    Sql Server简单加密与解密 【转】
    细说SQL Server中的加密【转】
    asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    HTTPS那些事(三)攻击实例与防御
    HTTPS那些事(二)SSL证书
    HTTPS那些事(一)HTTPS原理
    achartengine(Google给android提供的画图工具包)的介绍和使用
  • 原文地址:https://www.cnblogs.com/frankyou/p/4666726.html
Copyright © 2020-2023  润新知