2015-03-31 6 views
1

Когда я запустил git log --name-status Я могу видеть мои файлы, которые были изменены в моих записях. Однако, когда я запустил git log myfilename, указав один из имен файлов, появившихся в предыдущей команде, некоторые коммиты не указаны.Git commits появляется с git log, но не с git log <filepath>

Почему это может быть?

+1

И с 'git log --follow - myfilename'? – Jubobs

+3

И '--full-history'? –

+1

Записи появляются, когда я использую '--follow' или' --full-history'. – Ben

ответ

1

Записи появляются, когда я использую --follow или --full-history.

Это означает, что файл был:

  • переименован (--follow)
  • связан с объединенными ветвями (--full-history, так как чернослив в режиме по умолчанию некоторых боковые ветвей, если конечный результат будет таким же (т.е. слияние ветвей с одинаковым содержанием)

Посмотреть сообщение в блоге «Git – Full History» от Scott Smith:

ряд изменений может отменить друг друга, что означает, что история «упрощена» по умолчанию.
Эти изменения, которые отменяют друг друга, как представляется, никогда не существовали без использования переключателя «–full-history».

Ben подтверждает второй случай in the comments:

, что произошло первым изменения, которые я сделал на моей ветке были слиты обратно к основной линии.
Впоследствии те же изменения были дублированы на другой ветке другим разработчиком, а затем снова объединены с основной линией.

+0

Этот файл не был переименован, но он связан с объединенными ветвями. – Ben

+0

@Ben ОК, поэтому я добавил ссылку на сообщение в блоге, что иллюстрирует эту проблему. – VonC

+0

Хорошо, что произошло, сначала изменения, которые я сделал на моей ветке, были объединены обратно в главную линию. Впоследствии те же изменения были дублированы на другой ветке другим разработчиком, а затем снова объединены с основной линией. – Ben

Смежные вопросы