0
我正在寻找一种方法在git中构建文件的完整历史记录,并访问原始文件内容(与diff相对)。git - Blob/index文件历史记录
为了做到这一点,我试图获得在blob在git中执行时生成的散列,然后我可以使用该散列来查找使用git add进行的原始文件内容。
我已经找到了一种通过查看完整的'原始'提交与 git log --raw得到上演哈希的方法。
但是,这为我提供了一些我不需要的信息,例如作者,日期,提交消息。我希望能够自己获取文件名和散列,而不需要其他所有信息。我能够使用正则表达式来修剪我想要的信息,但希望得到一个不需要修剪的解决方案,我希望有人可能会有一个git咒语来获取这个信息。
commit 0fef32119a00ca59b24686257fdd7e056c0bcb1a
Author: BenjaminWeber <[email protected]>
Date: Thu Feb 11 20:17:04 2016 +0000
commit message here
:000000 100644 0000000... e69de29... A .deps
:000000 100644 0000000... 68af6a7... A foo
:000000 100644 0000000... 2372199... A bar
我知道git ls-files -s为目前正在上演的文件获取散列,但我想要整个舞台历史不仅仅是当前舞台 –
这听起来有趣,但它的方式不清楚你正在努力去做。 “完整的舞台历史”? –
@andrewC我正在尝试获取文件的完整**内容**历史记录。 如果我有一个名为'foo'的纯文本文件,我已经修改了3次以上的提交,我希望能够从每次提交中获得文件的完整纯文本内容。 为了做到这一点,我试图获得为'foo'生成的哈希,当它在git中进行时。 –