Попросить 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 того, что он считает оригинальными авторами этих строк. Это обоснованное предположение, поэтому иногда оно может ошибаться.