我刚刚执行了git add --interactive
,因此某些文件的索引版本与工作目录版本不同。我想要实际转储索引中每个文件的内容,而不是执行git diff --cached
,但我找不到执行此操作的命令。我认为会有类似git show INDEX:filename...
的东西,但“INDEX”不是有效的对象名称。
我能够git ls --cached
,然后git show <hash>
,但是应该有一种更简单的方法来查看你提交的内容。
答案 0 :(得分:17)
是的,只是:
git show :filename
如果您有多个索引版本(例如在合并冲突情况下),您可以使用以下命令查看不同索引槽中的版本:
git show :1:filename
git show :2:filename
git show :3:filename
在大多数其他情况下,只填充插槽0,:0:filename
是文件缓存版本的标识符。 :filename
是:0:filename
的缩写。
答案 1 :(得分:3)
如果您想测试您在索引中隐藏的项目版本,则可以使用
git stash --keep-index
(请参阅git-stash联机帮助页中的“测试部分提交”部分。