Получение полного сообщения о фиксации фиксации сброса

#git #version-control

#git #контроль версий

Вопрос:

Как мне получить полное сообщение о фиксации коммита, которое я сбросил?

Может быть, есть способ сделать это, используя git reflog , однако, есть ли у нас другой способ?

Комментарии:

1. Если вы на самом деле удалили этот коммит, то да, использование reflog — хороший способ.

Ответ №1:

Вы могли бы использовать git log -g , чтобы вернуться к своим предыдущим главам, но у него не будет информации о том, почему ГОЛОВА переместилась.

Вы могли бы читать журналы прямо из .git/logs/HEAD . Это ничего вам git reflog не покажет, но, возможно, было бы проще разработать инструмент для поиска идентификаторов сброса.

git reflog покажет все ваши предыдущие заголовки (коммиты, которые вы проверили) по порядку и почему ЗАГОЛОВОК переместился. git reflog принимает все те же параметры, git log что и . Например, вы можете получить больше контекста, git reflog --pretty=medium чтобы увидеть полные сообщения о фиксации. Однако, вероятно, проще получить идентификатор фиксации git reflog , а затем сообщение о фиксации git log <that id> .

Сброс должен быть легко обнаружен. Например, вот git reset --hard HEAD^1 .

 70cc722 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^1
5cbd5ea HEAD@{1}: reset: moving to HEAD
  

Комментарии:

1. И затем вы должны проверить идентификатор фиксации этой строки. git checkout 5cbd5ea .

2. @questionto42standswithUkraine Нет необходимости проверять это, чтобы получить сообщение о фиксации, нужно только git log 5cbd5ea

3. Я не читал этого из вашего ответа, хотя я понимаю, что это косвенно сказано при переходе назад git log -g . Я не думал, что это будет так просто, хорошо.