我对 git add 操作很好奇,所以我做了一些测试。
创建索引
1. git init
2. mkdir mydir
3. echo "hello" > mydir/hello
4. find .git/objects ==> nothing
5. git add .
6. find .git/objects ==> only find one file ,by cat-file, I am sure it is hello
做一些改变
7. rm mydir/hello
取回文件
8. git checkout mydir/hello
9. ls mydir/hello ==> hello is back
我的疑问是:当我这样做时'git add .'
,只会创建一个 blob,而不是创建一棵树来记录直接的“mydir”。那么,如何git checkout mydir/hello
才能找到 blob 呢?