标签:root 对比 ref 版本控制 显示 执行 相对 stat IT学习
[root@mycentos ~]# git --version
git version 1.7.1
[root@mycentos ~]# git config --global user.name "tuhooo"
[root@mycentos ~]# git config --global user.email tuhooo@163.com
新建一个目录,然后进去
git init
1.6.5 以后的可以在git后面接目录名,自动完成目录的创建
git add
git commit -m "commit message"
工作区根目录为什么有个.git目录
CVS:工作区的根目录以及每个子目录下面都有一个CVS目录,包含了几个配置文件,建立了对版本库的追踪。
如CVS目录下的Entries文件记录了从版本库检出到工作区的文件名称、版本和时间戳等,通过时间戳的对比可以快速扫描工作区文件的改动。
Git将版本库放在工作区根目录下的设计使所有的版本控制操作都在本地即可完成。
git grep "工作区文件内容搜索"
git将版本库(.git)放在工作区根目录下,git的相关操作一定要在工作区根目录下执行么?
换句话说,在工作区的子目录下执行git命令,是如何定位版本库呢?
实际上,在git工作区的某个子目录下执行操作时,会在工作区目录中依次向上递归查找.git目录,找到的.git目录就是工作区对应的版本库,.git所在目录就是工作区的根目录,文件.git/index记录了工作区文件的状态(实际上是暂存区的状态)。
在非git工作区执行git命令会因为找不到.git目录而报错。
追踪git status的磁盘访问
strace -e ‘trace=file‘ git status
显示工作区根目录
git rev-parse --show-toplevel
显示版本库.git目录所在位置
git rev-parse --git-dir
相对于工作区根目录的相对目录
git rev-parse --show-prefix
从当前目录后退到工作区的深度
git rev-parse --show-cdup
标签:root 对比 ref 版本控制 显示 执行 相对 stat IT学习
原文地址:https://www.cnblogs.com/tuhooo/p/8878624.html