我正在学习git基础知识。我对以下内容有所了解。
如果将文件作为margin:5px
添加到git,是否会将其添加到git add <filename(s)>
或其他位置? git如何知道添加的一些文件(跟踪或未跟踪等)?从哪里获取该信息(在提交之前)?
当.git/index
或git add时,git commit
文件大小会增加。
我们可以将.git/index
称为git本地存储库吗?或者它是git的主要数据库?
.git/index
仅指向当前分支,还是在提交后存储文件?
有人可以启发我吗?
答案 0 :(得分:2)
如果您将文件添加到Git,它将在.git / objects目录中创建该文件的blob。此外,将使用文件路径,权限和blob的哈希创建.git / index文件中的条目。索引文件大小没有增加的原因可能是它已经有一个该文件的条目,或者它有另一个条目已经过时并被新条目取代。
.git / index是Git索引,.git是本地存储库。正如您已经注意到的那样,HEAD只是一个参考。
答案 1 :(得分:1)
Git有一个暂存区域(也称为:stash,index,cache取决于你的git版本)
当您添加文件时,您只需告诉git从这一点开始跟踪它们。一旦你添加它们git计算文件的SHA-1,它们以特殊格式存储在你的.git/object
文件夹下(TYPE LENGTH + content - in zip)
可以找到有关整个过程的非常有用的信息here。