2017-10-11 57 views
1

要在脚本中使用,我需要知道在提交中修改或添加的文件以及blob的sha1。如何获取提交的文件blob信息

我可以得到的信息,以及更多,用下面的命令:git log -1 --raw --no-abbrev -m master

Author: [author] 
Date: Wed Oct 11 07:55:45 2017 -0700 

    This is the commit message 

:000000 100644 0000000000000000000000000000000000000000 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A  file1.txt 
:000000 100644 0000000000000000000000000000000000000000 f73ff92ea32371a270e5af81dc2cac4cbe98890f A  file2.txt 

可以解析我从这个需要,但感觉... 凌乱

是否有一些命令给我最后一行,没有作者,日期或提交信息?

+1

上市添加'--pretty =格式:'。如果你只想要blob sha,'git rev-parse '。 – ElpieKay

回答

1

树哈希格式是否给你你想要的?

例如

git log -1 --raw --no-abbrev -m develop --pretty="%T"

7a71fcb99a6f6db609c7ccf4adfd828524f517a7 

:100644 100644 a406bed252cede3cafa2c770f80b425a538cb8a2 7ea0f7d4f279da379e4be5da32446d2f2a2dafe8 M  .gitignore 
:100644 100644 8cadfaf41ec7adf0203b4e22fad5ffad1aed6226 82f44d4c26698de807234ff453ccda94300f7e82 M  Gemfile 
:100644 100644 952ea9cd117aa2c1bce82196bbada4da3975eb45 8c4024ffd6e46d3e7c9190a40eea3766c2bb91a1 M  Gemfile.lock 
:100644 100644 e07c5a830f77cc94a7a7e89025319b449838d899 7e14284b6e6990af6a30e75102122475c561220c M  app/assets/javascripts/application.js 
:100644 100644 9a8fd51e80d6edbda707b54032451d2bbb16b16f 048f753543aef4915367f91176ee07d5340a43ae M  app/assets/stylesheets/application.css 
:000000 100644 0000000000000000000000000000000000000000 7c8d04594c075d5cc1f29b501010ea8ee5c81324 A  app/assets/stylesheets/foundation_and_overrides.scss 

如果是不太正确的输出也有很多其他的选项--pretty在git manual

+0

它看起来像树格式('%T')给你的第一行,我不想。我得到我想要的命令 git log -1 --raw --no-abbrev -m master --pretty =“” – PortMan

+0

啊,我的不好。我想我误解了这个问题,并认为你也想要提交SHA1。很高兴你把事情解决了 :) – Chilledrat