赞
踩
git init
我们在初始化项目时,在项目根目录运行此命令,会在更目录生成一个.git文件。表示这个项目已经被git接管。如果不想被git接管,直接删除.git文件即可。那样这个项目就和git没一点关系了。
命令就是这么简单,但是我想让大家看下.git下面都有些什么内容。
以上,就是git初始化时.git内的所有文件,四个文件夹,三个文件。
但是这并不是全部,在日后我们提交了一些版本后,会有一些新的文件出现,比如:
五个文件,7个文件夹。下面来一一认识下吧。
对比上面两张照片,可以看出,这个文件后后面生成的。
它是一个临时文件,记录了最后一次commit时message的值。
下面图片,你看下一就清楚了。
对git分支以及版本有点了解的同学应该知道。git指针指向当前工作处理的分支和版本。而这个文件就是存储着git的指针。我们顺着这个地址找下去,能看到当前版本的hash值。详情看下图
这个文件是对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的提交。
这个文件用于追踪远程仓库的,会显示远程仓库的地址与当前版本的hash值。
- 值得注意的是,这里的数据,特别是hash并不是实时的。而是你最后一次拉取时候的值。
只有你执行git fetch,git merge或者git pull时,git会拉取远程仓库的数据,这个文件才会更新。
未更新时
更新后
未完待续。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。