首页 技术 正文
技术 2022年11月22日
0 收藏 959 点赞 4,678 浏览 993 个字

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中,一天之内建立、使用、合并再删除多个分支是常见的事;                

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,028
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,518
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,365
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,146
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,780
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,857