Попросить github или sourcetree игнорировать перемещенные строки?

Я использую Git для отслеживания изменений, которые я делаю в своем проекте. Я часто перемещаю целые разделы внутри своих файлов.

Когда я смотрю различия с использованием Sourcetree и GitHub для OSX, он показывает мне эти перемещенные строки как удаленные (и показывает их как новые строки в другом месте). Это сбивает с толку визуально.

Как я могу дать Sourcetree или GitHub команду игнорировать перемещенные строки и показывать только удаленные, если они действительно пропали?

2 ответа

Решение

Короткий ответ, вы не можете.

Если вам не нравятся различия по умолчанию, рассчитанные с помощью git, вы можете попробовать использовать --patience (Генерация различий с использованием алгоритма "терпение различий".) И --histogram (Создайте diff, используя алгоритм "diff по гистограмме".) Параметры git diff.

Также это может помочь http://git-scm.com/book/en/Customizing-Git-Git-Attributes см. Различающиеся двоичные файлы.

Альтернативой является использование командной строки. Вы можете дать команду git попытаться угадать, когда строки кода были перемещены.

git blame -M -w <file>

должен показать вам автора и sha1's того, что он считает оригинальными авторами этих строк. Это обоснованное предположение, поэтому иногда оно может ошибаться.

Другие вопросы по тегам