2016-02-01 8 views
1

Я потерял некоторые коммиты в файле. Если я проверю историю проекта, коммиты там, но они не находятся в истории файла. Я подозреваю, что член команды использовал git reset в файле в конфликте слияния, потеряв историю в сбросе, но я не уверен.Проверить фиксацию, когда была потеряна история файла

Как найти, в котором зафиксировать файл, потерянный в истории?

Я пробовал несколько способов без везения. Я пробовал git log --follow {file}, это получает недостающие коммиты, но это не показывает мне фиксацию, в которой была потеряна история.

+0

Оба параметра «git-blame» и «git-annotate» упоминают опцию '-S', которая позволяет вам указать свой собственный список ревизий (используемый как рефакторинг вместо вывода' git-rev-list'). – raina77ow

+1

Если вы не можете заставить его работать лучше, проверьте команду bisect git на ноль в точке отказа. http://webchick.net/node/99 – mah

+0

Использование 'git biscet' было очень полезно. Хотя git сказал мне, что проблема была впервые обнаружена в Commit X, и это было не так, фиксация с проблемой была дедом (2 родителя совершают ошибку) –

ответ

1

Вы, вероятно, правы, что изменения были потеряны в неудачном слиянии, и git log по умолчанию не показывают слияние совершает, если файл не отличается от обоего родителей слияния. Чтобы включить эти коммиты, используйте git log --full-history <filename>.