Git Local Change历史位置在硬盘上

时间:2013-03-01 13:46:08

标签: git

我是Git的新手。我正在使用Git Extension,我想问一下,如果我做了一些更改并在本地提交但是还没推送它。我的本地历史存储在哪里??? 我有从服务器克隆存储库的目录。这是我存储本地提交历史记录的位置还是存储在C盘中的任何位置?

3 个答案:

答案 0 :(得分:5)

Git将所有内部数据存储在隐藏文件夹.git中。它位于项目结帐的根目录中。

答案 1 :(得分:3)

默认情况下,克隆存储库时,克隆会创建一个工作目录,其中默认分支将自动检出。在这个工作目录的根文件夹中是一个隐藏文件夹; .git.git文件夹是存储库的本地副本,包含所有内容。

更具体地说,在.git文件夹中有一些感兴趣的文件夹。

对于每个本地分支,路径.git/refs/heads都有文件。例如,如果您有默认的master分支,则.git/refs/heads/master会有一个文件。该文件包含该分支上最新提交的提交编号。

提交的数据存储在.git/objects文件夹中的文件中;在提交散列的前两位数字的文件夹内,以及散列的剩余数字的文件。例如,在我正在处理的master文件中的存储库中包含提交哈希a50eed54467b98094438a22ae52995901c9a7ac9。该提交的数据位于.git/objects/a5/0eed54467b98094438a22ae52995901c9a7ac9文件中。

因此,这些文件在我的存储库中通常相当小,因为数据只是与父提交的压缩差异。该文件中包含的数据正是该提交中更改的内容 - 而不是所有内容。

远程分支所在的提交存储在不同的位置。远程分支位于文件夹.git/refs/remotes/<remote name>/<branch name>中 - 与本地分支的存储方式非常相似。按下时,将更新远程存储库中的本地分支 - 获取分支时,将更新此文件夹中的远程分支文件。

答案 2 :(得分:1)

本地 git存储库存储在您的repo的.git目录中的文件中。