Git: сравнение силы между строками - PullRequest
0 голосов
/ 10 мая 2018

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

Часть мотивации использования Git заключается в том, что явозможность сравнения различий между одним коммитом и другим с помощью мощного расширения кода Visual Studio: Git Lens.

Это позволяет дать краткий обзор неопытных людей (которых я обычно представляю)устная история того, какие изменения были внесены в код, мотивы изменений (в форме сообщения о коммите), а также графическое изображение на экране, детализирующее измененные символы (форма пользовательского интерфейса Gitlens)

Все прошло довольно хорошо до сегодняшнего дня.Вообще говоря, так как файлы менялись постепенно, каждый раз я мог бы выявлять различия в файле и отображать их на экране, и, как правило, изменения отображались построчно.

Сегодня, однако,Весь файл подвергся более преобразующему изменению, и теперь строки, которые git считает одинаковыми, на самом деле не совпадают.Он думает, что есть куча пропущенных / удаленных строк, которых на самом деле нет, а также думает, что определенные строки совпадают, когда их нет.

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

Побочная мотивация: моя компания до сих пор не спешит с внедрением контроля версий.Есть, однако, некоторые люди, которые предпочитают использовать контроль версий, но большинство из них должны быть доведены до скорости.Дополнительным преимуществом того, что я смог решить эту проблему, было бы то, что я мог повернуться и показать кого-то в натуральной форме.

Пример:

Changes Originals

Как заставить эти два коммита правильно выстроиться в линию, даже если мне придется их форсировать?

Заранее спасибо!

1 Ответ

0 голосов
/ 11 мая 2018

Что дает вам простой git diff?

Я не знаком с Git Lens, но в командной строке вы можете попробовать git diff --anchor="POSITIONER_BASE 1" (По скриншотам трудно сказать, сколько пробелов естьмежду "BASE" и "1", пожалуйста, настройте на основе фактических данных).Это делает привязку остальной части diff к строке, начинающейся с этой строки.

git diff имеет несколько других опций для определения алгоритма diff.Вы также можете поиграть с ними.Например, --minimal делает все возможное, чтобы получить меньшую разницу.

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