Краткая форма идентификатора фиксации SHA-1

Что такое эквивалентный API JGit для следующей команды

git log --pretty=format:"%h - %an, %ar : %s"

Я хочу получить краткую форму идентификатора фиксации SHA-1 и статус файла для этой конкретной фиксации.


person Renganathan Selvaraju    schedule 10.05.2016    source источник
comment
Можете ли вы объяснить, что делают %h, %an и т. д., и, возможно, привести пример?   -  person Rüdiger Herrmann    schedule 10.05.2016
comment
%H = хэш фиксации %an = имя автора %ar = относительная дата автора %s = тема   -  person Renganathan Selvaraju    schedule 10.05.2016


Ответы (1)


LogCommand JGit возвращает список RevCommit, из которых можно получить информацию.

  • идентификатор коммита: commit.getId()
  • имя автора: commit.getAuthor().getName()`
  • дата автора: commit.getAuthor().getWhen()`
  • тема: commit.getShortMessage()`

Чтобы сократить идентификатор объекта Git в JGit, вы можете использовать метод abbreviate(). Например:

RevCommit commit = ...
ObjectId commitId = commit.getId();
String shortId = commitId.abbreviate( 7 ).name();

сократит заданный objectId до 7 символов.

person Rüdiger Herrmann    schedule 10.05.2016
comment
Как получить рефы коммита. Ссылки содержат такую ​​информацию, как (Head-›master, origin/master). - person Tulshi Das; 27.06.2021
comment
Я думаю, что здесь есть ответ: stackoverflow.com/questions/47086943/ - person Rüdiger Herrmann; 28.06.2021