Я использую вкладки для отступов в моих программах на Python, но я бы хотел сотрудничать (используя git) с людьми, которые вместо этого используют пробелы.
Есть ли способ для git автоматически конвертировать между пробелами и табуляциями (скажем, 4 пробела = 1 табуляция) при нажатии / извлечении? (аналогично преобразованию CR / LF)
git
tabs
indentation
Оливье Вердиер
источник
источник
Ответы:
Вот полное решение:
В вашем хранилище добавьте файл,
.git/info/attributes
который содержит:Linux / Unix
Теперь запустите команды:
OS X
Сначала установите coreutils с помощью brew:
Теперь запустите команды:
Все системы
Теперь вы можете проверить все файлы вашего проекта. Вы можете сделать это с:
и все файлы Python теперь будут иметь вкладки вместо пробелов.
Изменить : изменена команда принудительного оформления заказа. Конечно, сначала вы должны совершить свою работу.
источник
homebrew
, а затем запуститьbrew install coreutils
).Да, одно из возможных решений - использовать драйвер фильтра атрибутов git (см. Также книгу GitPro ), чтобы определить механизм удаления / очистки.
Туда:
Вы можете объявить этот драйвер фильтра (названный здесь '
tabspace
') в.git/info/attributes
(для фильтра, применяемого ко всем файлам в репозитории Git) со следующим содержимым:Теперь запустите команды:
См Оливье «s ответ на рабочий пример конкретного такого размазать / чистый набор инструкций.
источник
--global
флаг, поскольку это будет означать, что вы отправляете пробелы в каждый проект совместной работы ....gitattributes
. Но да, это легче понять, если конфиг хранится локально для репо. Я отредактировал ответ.Очень полезная информация для всех, кто использует GitHub (или другой подобный сервис)
~/.gitconfig
Тогда у меня есть два файла:
attributes
и
attributes2
Работа над личными проектами
Таким образом, когда вы, наконец, поместите свою работу на github, это не будет выглядеть глупо в представлении кода, с
8 space tabs
которым поведение по умолчанию во всех браузерах.Вклад в другие проекты
Таким образом, вы можете работать с обычными вкладками в
2 space indented
проектах.Конечно, вы можете написать аналогичное решение для конвертации
4 space to 2 space
, в случае если вы хотите внести свой вклад в проекты, опубликованные мной, и вы склонны использовать 2 пробела при разработке.источник
.gitattributes
файл в своемЕсли вы работаете в Windows, у вас есть несколько дополнительных шагов, чтобы заставить работать решение @Olivier Verdier .
источник