git-diff игнорировать ^ M

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

407
задан RzR 2 November 2011 в 17:44
поделиться

4 ответа

GitHub предлагает использовать только \ n в качестве символа новой строки в репозиториях с обработкой git. Существует возможность автоматического преобразования:

$ git config --global core.autocrlf true

Конечно, это называется преобразованием crlf в lf, в то время как вы хотите преобразовать cr в lf. Надеюсь, это все еще работает…

А затем конвертируйте ваши файлы:

# Remove everything from the index
$ git rm --cached -r .

# Re-add all the deleted files to the index
# You should get lots of messages like: "warning: CRLF will be replaced by LF in <file>."
$ git diff --cached --name-only -z | xargs -0 git add

# Commit
$ git commit -m "Fix CRLF"

core.autocrlf описан на странице руководства .

351
ответ дан 22 November 2019 в 23:22
поделиться

Как отмечено VonC, это было уже включено в мерзавца 2.16 +. К сожалению, название опции (--ignore-cr-at-eol) отличается от той, используемой разностью GNU, что я привык к (--strip-trailing-cr).

, Когда я столкнулся с этой проблемой, мое решение состояло в том, чтобы вызвать разность GNU вместо встроенной разности мерзавца, потому что мой мерзавец старше, чем 2,16. Я сделал то использование этой командной строки:

GIT_EXTERNAL_DIFF='diff -u --strip-trailing-cr "$2" "$5";true;#' git diff --ext-diff

, Который позволяет использовать --strip-trailing-cr и любые другие опции разности GNU.

существует также этот другой путь:

git difftool -y -x 'diff -u --strip-trailing-cr'

, но это не использует настроенные настройки пейджера, который является, почему я предпочитаю первого.

1
ответ дан 22 November 2019 в 23:22
поделиться

Попробуйте git diff --ignore-space-at-eol или git diff --ignore-space-change или git diff --ignore-all-space .

114
ответ дан 22 November 2019 в 23:22
поделиться

Также см.:

core.whitespace = cr-at-eol

или эквивалентно,

[core]
    whitespace = cr-at-eol

где пробелу предшествует символ tab.

101
ответ дан 22 November 2019 в 23:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: