背景:我已经使用git大约6个月了,我对它在表面层面感到很舒服。然而,我正在做的一些仍然是黑盒伏都教,我想更好地理解。
当我运行
之类的东西时git fetch upstream
git merge upstream/master
我明白这相当于拉。首先获取一些东西,然后我用它来执行合并。
我不明白的是我在拿什么,这些信息在哪里?我从概念上理解我正在获取上游远程存储库中的所有分支,但似乎信息需要存在于某个地方,而这就是我的大脑和对git的理解只能得出“我用Git Fetch获取的内容” ?“
答案 0 :(得分:4)
您将表示传入更改的commit objects提取到存储库的本地副本中。实际数据存储在.git
目录下,直到您git-merge
为止,此时它也将显示在工作目录中。
想知道所有血腥细节吗?查看Pro Git, Chapter 9: Git Internals。
答案 1 :(得分:2)
来自fetch的信息填充在.git
文件夹中,就像它是另一个分支一样。本地存储库包含有关所有分支的提交的信息,包括从远程存储库获取的分支。
答案 2 :(得分:2)
您正在获取存储在.git/objects
目录中的git对象以及有关远程头对象(.git/FETCH_HEAD
)的信息。