I want to write a Bash script that loops over the sha1s of commits output by an invocation of git log
. However, git log
gives me much more output than I want:
commit 0375602ba2017ba8750a58e934b41153faee6fcb
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:35:07 2014 +0000
Yet another commit message
This one even has newlines.
commit 4390ee9f4428c84bdbeb2fed0a461099a6c81b39
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:30:19 2014 +0000
Second commit message.
commit bff53bfbc56485c4c1007b0884bb1c0d61a1cf71
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:28:27 2014 +0000
First commit message.
How can I get git log
to just output sha1s so that I can loop over them conveniently?