相关疑难解决方法(0)

git索引包含什么?

Git索引究竟包含什么,以及我可以使用什么命令来查看索引的内容?


更新

谢谢你的所有答案.我知道索引充当临时区域,提交的内容是索引而不是工作树.我只是对索引对象的内容感到好奇.我想它可能是文件名/目录名列表,SHA-1对,也许是一种虚拟树?

在Git术语中,是否有任何可用于列出索引内容的管道命令?

git internal

166
推荐指数
3
解决办法
6万
查看次数

git如何计算文件哈希值?

存储在树对象git ls-tree中的SHA1哈希值(由返回的sha1sum)与文件内容的SHA1哈希值不匹配(由返回)

$ git cat-file blob 4716ca912495c805b94a88ef6dc3fb4aff46bf3c | sha1sum
de20247992af0f949ae8df4fa9a37e4a03d7063e  -
Run Code Online (Sandbox Code Playgroud)

git如何计算文件哈希值?它是否在计算哈希值之前压缩内容?

git hash checksum sha1 git-hash

120
推荐指数
3
解决办法
4万
查看次数

如何使用命令行工具进行DEFLATE来提取git对象?

我正在寻找DEFLATE算法的命令行包装器.

我有一个使用DEFLATE压缩的文件(git blob),我想解压缩它.gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式.

理想情况下,我正在寻找可以做到这一点的标准Unix/Linux工具.

编辑:这是我尝试使用gzip解决我的问题时得到的输出:

$ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzip

gzip: stdin: not in gzip format
Run Code Online (Sandbox Code Playgroud)

git blob deflate

75
推荐指数
12
解决办法
5万
查看次数

git二进制差异算法(增量存储)是否标准化?

Git使用增量压缩来存储彼此相似的对象.

此算法是否已标准化并在其他工具中使用?是否有描述格式的文档?它与xdelta/VCDIFF/RFC 3284兼容吗?

compression git binary-diff vcdiff

50
推荐指数
3
解决办法
2万
查看次数

树包含重复的文件条目

在我们托管的一些问题之后,我们决定将我们的Git存储库移动到GitHub.所以我克隆了存储库并尝试将其推送到GitHub.但是,我偶然发现了一些我们以前从未遇到过的错误:

 C:\repositories\appName [master]> git push -u origin master
 Counting objects: 54483, done.
 Delta compression using up to 2 threads.
 Compressing objects: 100% (18430/18430), done.
 error: object 9eac1e639bbf890f4d1d52e04c32d72d5c29082e:contains duplicate file entries
 fatal: Error in object
 fatal: sha1 file '<stdout>' write error: Invalid arguments
 error: failed to push some refs to 'ssh://git@github.com/User/Project.git'
Run Code Online (Sandbox Code Playgroud)

当我跑fsck:

C:\repositories\appName [master]> git fsck --full
Checking object directories: 100% (256/256), done.
error in tree 0db4b3eb0e0b9e3ee41842229cdc058f01cd9c32: contains duplicate file entries
error in tree 9eac1e639bbf890f4d1d52e04c32d72d5c29082e: contains duplicate file entries …
Run Code Online (Sandbox Code Playgroud)

git object duplicates

28
推荐指数
2
解决办法
6363
查看次数

Git包文件条目格式

我对Git包文件格式的理解如下: 替代文字

表是32位宽,前三个32位字是包文件头.最后一行32位是条目的前4个字节.据我所知,条目的大小由MSB集的连续字节指定,后跟压缩数据.

在没有设置MSB的第一个字节中,是压缩数据的MSB部分,还是间隙?如果它是压缩数据的一部分,那么如何保证压缩数据时该位不会被设置?

git file-format

5
推荐指数
2
解决办法
4106
查看次数