git add。 ,这些文件存储在哪里?

时间:2016-01-09 16:55:57

标签: git github

我正在学习git基础知识。我对以下内容有所了解。

如果将文件作为margin:5px添加到git,是否会将其添加到git add <filename(s)>或其他位置? git如何知道添加的一些文件(跟踪或未跟踪等)?从哪里获取该信息(在提交之前)?

.git/index或git add时,git commit文件大小会增加。

我们可以将.git/index称为git本地存储库吗?或者它是git的主要数据库?

.git/index仅指向当前分支,还是在提交后存储文件?

有人可以启发我吗?

2 个答案:

答案 0 :(得分:2)

如果您将文件添加到Git,它将在.git / objects目录中创建该文件的blob。此外,将使用文件路径,权限和blob的哈希创建.git / index文件中的条目。索引文件大小没有增加的原因可能是它已经有一个该文件的条目,或者它有另一个条目已经过时并被新条目取代。

.git / index是Git索引,.git是本地存储库。正如您已经注意到的那样,HEAD只是一个参考。

答案 1 :(得分:1)

Git有一个暂存区域(也称为:stash,index,cache取决于你的git版本)

enter image description here

当您添加文件时,您只需告诉git从这一点开始跟踪它们。一旦你添加它们git计算文件的SHA-1,它们以特殊格式存储在你的.git/object文件夹下(TYPE LENGTH + content - in zip)

可以找到有关整个过程的非常有用的信息here