Вы можете написать свой собственный класс BigNumber, который сохраняет результаты как строки. Вам придется реализовать все ваши числовые операции, и я предполагаю, что производительность будет проблемой. Но это может быть сделано, без проблем - предполагая, что это то, что вы хотите.
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 описан на странице руководства .
Как отмечено 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'
, но это не использует настроенные настройки пейджера, который является, почему я предпочитаю первого.
Попробуйте git diff --ignore-space-at-eol
или git diff --ignore-space-change
или git diff --ignore-all-space
.
Также см.:
core.whitespace = cr-at-eol
или эквивалентно,
[core]
whitespace = cr-at-eol
где пробелу
предшествует символ tab.