Подтвердить что ты не робот

Git checkout - Отправка по словам?

У нас есть проект, в котором файлы содержат, к сожалению, длинные строки, без возможность их сокращения. Мы могли бы значительно упростить наш рабочий процесс, если мы могли бы использовать git checkout --patch также с такими файлами. С тех пор это не сработало если есть какие-либо изменения во всей огромной строке, строка будет помечена как измененная.

Обычно мы проверяем такие изменения с помощью git diff --word-diff. Есть ли возможность сделать checkout --patch работать с аналогичным форматом? Существуют ли какие-либо другие средства для работать вокруг нашей проблемы?

4b9b3361

Ответ 1

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

Вы можете использовать эту версию файла (raw file для сохранения ссылки - как удобство) и скопируйте его где-нибудь в PATH, как описано в связанном ответе. Обязательно также установите его исполняемый бит (chmod +x path/to/file) после загрузки.

Предполагая, что вы назвали файл git-add--interactive--words, как было предложено, вы можете использовать следующую команду для определения псевдонима для него:

git config --global alias.cop add--interactive--words --patch=checkout

Теперь вы можете сделать что-то вроде:

git cop HEAD~5 выполнить интерактивную проверку. (текущий реж.) 5 коммитов назад, или
git cop master -- docs/README интерактивно проверить документы /README из главного сервера

Вы можете назвать псевдоним любым, что вы хотите, конечно (я выбрал здесь cop для c 'heck' o 'ut -' p 'ATCH).

Я знаю, что этот ответ действительно задерживается, поэтому он, возможно, не применим для вас, но этот вопрос так долго был в списке без ответа, что я просто имел, чтобы понять это сегодня - возможно это поможет кому-то еще;)