美文网首页
.git初探

.git初探

作者: 小木盒子 | 来源:发表于2021-02-17 16:57 被阅读0次

一、初识 .git

cd .git

- COMMIT_EDITMSG
- FETCH_HEAD
- HEAD:当前工作分支
- ORIG_HEAD
- config:当前仓库的配置信息
- index
- logs
- objects: 文件
- packed-refs
- refs:本地/远程分支和tag信息

cd objects

drwxr-xr-x  11 heqin  staff  352 Mar  6 11:08 fb
drwxr-xr-x  17 heqin  staff  544 Mar  6 10:06 fc
drwxr-xr-x  10 heqin  staff  320 Feb 28 12:02 fd
drwxr-xr-x  15 heqin  staff  480 Mar  1 11:52 fe
drwxr-xr-x  19 heqin  staff  608 Mar  6 10:39 ff
drwxr-xr-x   2 heqin  staff   64 Feb 13 16:11 info
drwxr-xr-x  20 heqin  staff  640 Mar  5 09:31 pack :将松散的hash文件夹打包

cd fb

-r--r--r--  1 heqin  staff    48 Feb 15 10:52 00b237e2d3c368fd26fc9143ea7a0d06f144b4
-r--r--r--  1 heqin  staff   172 Mar  1 10:47 11e701e15678ac0fbf8de6788449cdb058c7bb
-r--r--r--  1 heqin  staff   252 Feb 13 17:51 17b2f75d2bd410cdc7ba0462ca067b82049b62
-r--r--r--  1 heqin  staff    48 Feb 28 13:12 4ed5900c4a761c66b0767b017aa0b56a0a0e57
-r--r--r--  1 heqin  staff   549 Mar  6 11:08 a5cf698c19f92e1144ad553e4c552eb0ab8ccd
-r--r--r--  1 heqin  staff    49 Mar  1 11:52 c21fdc38321d4ff364d4f771597db5b41804ed

fb和00b237e2d3c368fd26fc9143ea7a0d06f144b4组成一个完整的hash值

查看hash值的类型:
git cat-file -t fb00b237e2d3c368fd26fc9143ea7a0d06f144b4

tree

查看hash值的内容
git cat-file -p fb00b237e2d3c368fd26fc9143ea7a0d06f144b4

040000 tree 18652d5639dfa9808b26502dd62e4ad5879493ea    devops

继续看18652d5的内容
git cat-file -p 18652d5

100644 blob f234a617597873c3ae13df54c7c99bd41e2ad65d    ApplicationLoader.java
040000 tree 3223d5dce1ef8ff9c51ff0dbb4113cb3abe33cf2    adapter
040000 tree 64cbc72a931adde60f4d5d9f2479e9b10e41c293    application
040000 tree f110b06cf298d8b129a27ac0c75b379c167787c3    domain
040000 tree f21a7376bc59fe42e80fcb6455dc54136b0d88e8    infrastructure

git cat-file -p f234a617

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class ApplicationLoader {

    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(ApplicationLoader.class);
        application.setAdditionalProfiles(MdpContextUtils.getHostEnvStr());
        application.run(args);
    }
}

从此处可以见blob已是文本类型,内容即是git的存储的内容

此处已涉及到2种对象类型

  • tree 树(文件夹)类型
  • blob 文件类型

二、commit、tree、blob之间的关系

对象关系图

commit下包含tree对象和上一个提交commit(parent),tree下包含本次commit所有视图文件,如果视图中包含文件夹依然是个tree对象,如果是文件则是blob对象,blob对象的内容即使文件内容

三、常用命令

  1. 删除分支:git branch -D xxx
  2. 修改最新commit的message信息:git commit --amend

相关文章

  • Git学习记录:Notes for Codecademy

    Codecademy学习记录 Basic Git Workflow(Git工作流初探) git三大部分 编辑一份文...

  • Git 初探

    首要配置 使用 Git 之前,需要先配置 user 信息,一个是用户名,一个是邮件地址。 那为什么要做这些配置呢?...

  • .git初探

    一、初识 .git cd .git cd objects cd fb fb和00b237e2d3c368fd26f...

  • git 初探

    本文要点:1. 版本管理的好处2. Git 的优点3. 配置 Git3.1. 配置开发者的信息3.2. 配置级别 ...

  • git系列教程(6)-常用命令

    这里有一份git常用命令,请收下 git初探 git clone 这是一种较为简单的初始化方式,当你已经有一个远程...

  • Git用法初探

    前提 之前一直在用svn和cvs,感觉跟不上时代的潮流了,加上git优点多多,所以就抽出时间进行了git基本的学习...

  • 初探Git(一)

    Git简介 什么是Git? Git是世界上最先进的分布式版本控制系统(大家都这么说,我也只能装作自己觉得他很牛逼了...

  • git的初探

    首先你要要确保你已经有了github账号、以及电脑上已经安装了cocoapods. 本文就是回顾之前练习git的步...

  • git用法初探

    github help 下载并安装最新版的Git download 打开终端 输入命令,设置git账户git co...

  • git 原理初探

    前言 最近一直在研究 git 命令的操作效果,但总是感觉一知半解。自从看了知某平台文章这才是真正的Git——Git...

网友评论

      本文标题:.git初探

      本文链接:https://www.haomeiwen.com/subject/udpouqtx.html