如何获取.git/index的可读转储?

如何获取.git/index的可读转储?,git,Git,短版 如何获得一个合理详细的、人类可读的.git/index转储文件 tl;dr版本 我有两个索引文件,myrepo/.git/index和myrepo copy/.git/index,它们根据diff而不同(“二进制文件…不同”) 我想知道关于这两个索引文件的区别的更多细节 当然,我可以看看二进制内容的差异,但我对更直接有意义的内容感兴趣 因此,我正在寻找一种方法来获取这两个索引文件的可读转储,我可以将其与diff进行比较。解决问题的最简单方法是将其中一个索引文件中的更改提交到临时分支,例如

短版

如何获得一个合理详细的、人类可读的
.git/index
转储文件


tl;dr版本

我有两个索引文件,
myrepo/.git/index
myrepo copy/.git/index
,它们根据
diff
而不同(“二进制文件…不同”)

我想知道关于这两个索引文件的区别的更多细节

当然,我可以看看二进制内容的差异,但我对更直接有意义的内容感兴趣


因此,我正在寻找一种方法来获取这两个索引文件的可读转储,我可以将其与
diff

进行比较。解决问题的最简单方法是将其中一个索引文件中的更改提交到临时分支,例如

git checkout -b temp
git commit

然后通过
.git/index
复制另一个索引文件。您现在可以使用
git status
git diff--staged
等查看差异。

好的,在我发布了我的问题后,我了解到以下内容生成了相当全面的索引转储:

% git ls-files --stage --debug

我会提出以下建议:

diff <(GIT_INDEX_FILE=/path/to/index1 git ls-files --stage) <(GIT_INDEX_FILE=/path/to/index2 git ls-files --stage)
diff