玩转 Git 三剑客
苏玲
携程代码平台负责人
60828 人已学习
新⼈⾸单¥68
课程目录
已完结/共 62 讲
第三章:Git与GitHub的简单同步 (4讲)
第五章:Git集成使用禁忌 (2讲)
玩转 Git 三剑客
登录|注册
留言
43
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 09 | 探密.git目录
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程综述
02 | 安装Git
03 | 使用Git之前需要做的最小配置
04 | 创建第一个仓库并配置local用户信息
05 | 通过几次commit来认识工作区和暂存区
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变历史
08 | gitk:通过图形界面工具来查看版本历史
09 | 探密.git目录
10 | commit、tree和blob三个对象之间的关系
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事项
13 | 进一步理解HEAD和branch
14 | 怎么删除不需要的分支?
15 | 怎么修改最新commit的message?
16 | 怎么修改老旧commit的message?
17 | 怎样把连续的多个commit整理成1个?
18 | 怎样把间隔的几个commit整理成1个?
19 | 怎么比较暂存区和HEAD所含文件的差异?
20 | 怎么比较工作区和暂存区所含文件的差异?
21 | 如何让暂存区恢复成和HEAD的一样?
22 | 如何让工作区的文件恢复为和暂存区一样?
23 | 怎样取消暂存区部分文件的更改?
24 | 消除最近的几次提交
25 | 看看不同提交的指定文件的差异
26 | 正确删除文件的方法
27 | 开发中临时加塞了紧急任务怎么处理?
28 | 如何指定不需要Git管理的文件?
29 | 如何将Git仓库备份到本地?
30 | 注册一个GitHub账号
31 | 配置公私钥
32 | 在GitHub上创建个人仓库
33 | 把本地仓库同步到GitHub
34 | 不同人修改了不同文件如何处理?
35 | 不同人修改了同文件的不同区域如何处理?
36 | 不同人修改了同文件的同一区域如何处理?
37 | 同时变更了文件名和文件内容如何处理?
38 | 把同一文件改成了不同的文件名如何处理?
39 | 禁止向集成分支执行push -f操作
40 | 禁止向集成分支执行变更历史的操作
41 | GitHub为什么会火?
42 | GitHub都有哪些核心功能?
43 | 怎么快速淘到感兴趣的开源项目?
44 | 怎样在GitHub上搭建个人博客
45 | 开源项目怎么保证代码质量?
46 | 为何需要组织类型的仓库?
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code review?
53 | 团队协作时如何做多分支的集成?
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub上?
56 | 怎么给项目增加详细的指导文档?
57 | 国内互联网企业为什么喜欢GitLab?
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code review?
61 | GitLab上怎么保证集成的质量?
62 | 怎么把应用部署到AWS上?
本节摘要
登录 后留言

全部留言(43)

  • 最新
  • 精选
Sun-Bryant
// 09|探秘.git目录 //cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。 cat HEAD 查看HEAD文件的内容 git cat-file 命令 显示版本库对象的内容、类型及大小信息。 git cat-file -t b44dd71d62a5a8ed3 显示版本库对象的类型 git cat-file -s b44dd71d62a5a8ed3 显示版本库对象的大小 git cat-file -p b44dd71d62a5a8ed3 显示版本库对象的内容 HEAD:指向当前的工作路径 config:存放本地仓库(local)相关的配置信息。 refs/heads:存放分支 refs/tags:存放tag,又叫里程牌 (当这次commit是具有里程碑意义的 比如项目1.0的时候 就可以打tag) objects:存放对象 .git/objects/ 文件夹中的子文件夹都是以哈希值的前两位字符命名 每个object由40位字符组成,前两位字符用来当文件夹,后38位做文件。

作者回复: 👍

2018-12-14
85
iyhjiang
.git 文件目录 • COMMIT_EDITMSG • config 当前 git 的配置文件 • description (仓库的描述信息文件) • HEAD (指向当前所在的分支),例如当前在 develop 分支,实际指向地址是 refs/heads/develop • hooks [文件夹] • index • info [文件夹] • logs [文件夹] • objects [文件夹] (存放所有的 git 对象,对象哈希值前 2 位作为文件夹名称,后 38 位作为对象文件名, 可通过 git cat-file -p 命令,拼接文件夹名称+文件名查看) • ORIG_HEAD • refs [文件夹] • heads (存放当前项目的所有分支) • tags (存放的当前项目的所有标签,又叫做里程碑) • cat 命令, 功能:用来显示文件。 例如 cat text.md 显示 text.md 文件的内容 • ls -al 命令, 表示列出当前目录下的所有文件(包括隐藏文件) • git cat-file -t 命令 , 查看 git 对象的类型 • git cat-file -p 命令, 查看 git 对象的内容 • git cat-file -s 命令, 查看 git 对象的大小

作者回复: 👍

2018-12-11
31
crown
文件内容相同,git眼里就是唯一的blob , 这很常见,就是享元模式吧。 lua,Python等语言中,相同字符串,其实只分配一次内存,地址一样,指向同一个对象,可以节省内存。

作者回复: 对不做数据结构设计的人来说,还是新鲜的。从您这里,我又学习了享元模式

2018-12-11
25
包包up
分支对于一个0基础的人来说,其实是很陌生的概念。视频并没有讲到这个概念,感觉会不利于0基础的人学习。

作者回复: .git探秘那节视频讲到过的。其次,我们后面工作流相关的会重点讲

2018-12-11
9
Jefitar
讲得太棒了,正合我口味,哈哈😄

作者回复: 加油2019

2019-01-24
5
Mayer
为什么config文件中,只保存了设置local的信息,设置了global的就没有呢

作者回复: hi,global的是全局的,当然不好在某个git仓库里面,如果这个仓库删除了怎么办?所以,它在当前账号路径下的.gitconfig文件里面

2019-01-29
2
2
我愿化身石桥→_→
老师 index 里边的内容如何查看 我查到了 git ls-files --stage 但是感觉并不是我想要的; 可以像 git cat-files 一样查看么

作者回复: 你的第一个步骤很好。 1)显示暂存区所有文件对应的属性,包括blob的hash值。假设 $ git ls-files --stage 输出: 100644 40e60301 0 LICENSE 100644 10730a62 0 README.md 2)用文件对应的blob查看文件的内容。比如: $ git cat-file -p 10730a62 就会输出暂存区 README.md 文件的内容了。

2019-09-09
1
我听你说……
老师,怎么理解分支?分支的具体表现是怎样的。

作者回复: 分支,通俗地说就是独立的工作空间,在一定时间内保持各自研发的独立性,等分支开发的模块成熟后再合体到集成分支

2019-07-23
1
心在飞
听了苏老师的.git目录探秘,豁然开朗。苏老师讲的真棒!

作者回复: 这讲的内容,当年我自己也是这么搭环境,消除git对象存储的困惑的。

2019-03-04
1
逐风随想
玲玲老师,这章节消化不了怎么办。

作者回复: 😄,暂时跳过去。以后git命令摸的熟了,再回来看吧

2019-01-18
1
收起评论