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