Почему этот git commit существует в журнале, а не в журнале файла? - PullRequest
8 голосов
/ 15 февраля 2012

Как я могу узнать, как этот коммит был сброшен?

Следующие команды не показывают историю фиксации в журнале:

  • git log -p apps/grants/views.py
  • gitk apps/grants/views.py

Но следующие все показывают коммит в журнале:

  • git log
  • git log --follow -p apps/grants/views.py
  • git show 5034d44861fcc39fc28b069501577c8d15321b4f

ОБНОВЛЕНИЕ: файлы не были переименованы в коммите. Вот вывод git log --stat:

 apps/articles/views.py                    |    4 +-
 apps/grants/tests.py                      |   16 +++++++-----
 apps/grants/views.py                      |   20 +++++++++------
 static/css/modules.css                    |   36 ++++++++++++++--------------
 templates/articles/learning_landing.html  |    2 +-
 templates/grants/fellow_detail.html       |   10 ++++++++
 templates/modules/fellow_search_form.html |    2 +-
 7 files changed, 53 insertions(+), 37 deletions(-)

Ответы [ 3 ]

9 голосов
/ 30 октября 2013

Обычно происходит с неудачным слиянием (т. Е. Конфликт слияния)

чтобы найти его

git log -U -m --simplify-merges --merges -- filename

Вы увидите отсутствующий код и идентификаторы коммитов

4 голосов
/ 15 февраля 2012

Оказывается, чей-то коммит слияния был виновником. Любая информация, которая не была включен был потерян в этом слиянии. А так как коммит слияния не добавлял и не удалял ничего, он не появлялся в журнале запуска файла.

Раздача была git show 5eaa666 только с подмножеством моих изменений.

Я добавил коммит обратно, выбрав вишню: git cherry-pick 5034d44

1 голос
/ 15 февраля 2012

Что произошло после коммита? Этот файл существует в настоящее время или существует исторически?

Если с тех пор оно было переименовано, его можно легко «найти» только через git log с параметром --follow, как вы видели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...