Вы можете использовать git rev-parse
для этого.Он может принимать все, что даже отдаленно похоже на коммит, и возвращает полный хеш SHA1 для этого коммита.
Например, чтобы получить SHA1 HEAD
:
git rev-parse HEAD
.SHA1 master
:
git rev-parse master
Чтобы получить SHA1 origin/trunk
:
git rev-parse origin/trunk
Чтобы получить SHA1 для всех удаленных головок (это только один из многих способовчтобы сделать это, и конечно не самый лучший):
git branch -r | cut -d' ' -f 3 | while read remote; do
echo ${remote} `git rev-parse ${remote}`
done