简短版
如何获得.git/index
tl; dr version
我有两个索引文件myrepo/.git/index
和myrepo-copy/.git/index
根据diff
不同("二进制文件...不同")。
我想知道两个索引文件的不同之处。
当然,我可以看一下二进制内容的差异,但我对那些更有意义的内容感兴趣。
因此,我正在寻找一种方法来获取这两个索引文件的人类可读转储,我可以将其与diff
进行比较。
答案 0 :(得分:4)
我会在这些方面提出一些建议:
diff <(GIT_INDEX_FILE=/path/to/index1 git ls-files --stage) <(GIT_INDEX_FILE=/path/to/index2 git ls-files --stage)
正如您已经注意到的那样,您可以添加--debug
选项以获取有关时间戳和其他内容的信息......
答案 1 :(得分:2)
好的,在我发布我的问题之后,我了解到以下内容产生了相当全面的索引转储:
% git ls-files --stage --debug
答案 2 :(得分:0)
最容易解决您的问题的方法是将其中一个索引文件中的更改提交到临时分支,例如
git checkout -b temp
git commit
然后复制.git/index
上的其他索引文件。您现在可以使用git status
,git diff --staged
等来查看差异。