git 进阶系列教程--init

git init ---- 初始化git仓库

功能介绍

  1. 初始化git仓库

命令解析

git init

我们在初始化项目时,在项目根目录运行此命令,会在更目录生成一个.git文件。表示这个项目已经被git接管。如果不想被git接管,直接删除.git文件即可。那样这个项目就和git没一点关系了。
命令就是这么简单,但是我想让大家看下.git下面都有些什么内容。

git初始化

以上,就是git初始化时.git内的所有文件,四个文件夹,三个文件。
但是这并不是全部,在日后我们提交了一些版本后,会有一些新的文件出现,比如:

.git内所有文件

五个文件,7个文件夹。下面来一一认识下吧。

文件-COMMIT_EDITMSG

对比上面两张照片,可以看出,这个文件后后面生成的。
它是一个临时文件,记录了最后一次commit时message的值。
下面图片,你看下一就清楚了。

COMMIT_EDITMSG内容

文件-HEAD

对git分支以及版本有点了解的同学应该知道。git指针指向当前工作处理的分支和版本。而这个文件就是存储着git的指针。我们顺着这个地址找下去,能看到当前版本的hash值。详情看下图
head内容

文件-ORIG_HEAD

这个文件是对head操作的备份。注意是head操作的备份,不是git操作的备份。它不能恢复git add之类命令的工作成功。但是涉及到head变化,它就能发挥了。它记录了上一次你操作后版本的hash值。如图

在这里插入图片描述

为了给你们看它的作用,我把当前分支log出来。你看第二个提交的hash和文件内容是一致的

在这里插入图片描述

如果你想回到上一次head。执行: git reset --hard ORIG_HEAD 命令即可,然后log结果如下。

  • 这里有个注意点。这个文件存贮的是上一次head的hash。所以你执行 git reset --hard ORIG_HEAD 命令后,文件的存储hash是:4f517c34cfcc82995431cdb384766ac743e4268c
    所以,再次执行命令是回到最后一次提交,而不是hash为:cbbdaed34ace864def8c544e16905af19424fb20的提交。

在这里插入图片描述

文件-FETCH_HEAD

这个文件用于追踪远程仓库的,会显示远程仓库的地址与当前版本的hash值。

  • 值得注意的是,这里的数据,特别是hash并不是实时的。而是你最后一次拉取时候的值。
    只有你执行git fetch,git merge或者git pull时,git会拉取远程仓库的数据,这个文件才会更新。

未更新时

在这里插入图片描述

更新后

在这里插入图片描述

未完待续。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值