Когда бы вы использовали.git/info/exclude вместо.gitignore для исключения файлов?
Я немного запутался по поводу плюсов и минусов использования .git/info/exclude
а также .gitignore
исключить файлы.
Оба они находятся на уровне репозитория / проекта, так как они отличаются и когда мы должны использовать .git/info/exclude
?
4 ответа
Преимущество .gitignore
является то, что это может быть проверено в самом хранилище, в отличие от .git/info/exclude
, Еще одним преимуществом является то, что вы можете иметь несколько .gitignore
файлы, по одному в каждом каталоге / подкаталоге для специфических для каталога правил игнорирования, в отличие от .git/info/exclude
,
Так, .gitignore
доступен во всех клонах хранилища. Поэтому в больших командах все люди игнорируют одинаковые файлы. Пример *.db
, *.log
, И вы можете иметь более конкретные правила игнорирования из-за нескольких .gitignore
,
.git/info/exclude
доступно только для отдельных клонов, поэтому то, что один человек игнорирует в своем клоне, недоступно в клоне другого человека. Например, если кто-то использует Eclipse
для развития может иметь смысл для этого разработчика, чтобы добавить .build
папка для .git/info/exclude
потому что другие разработчики могут не использовать Eclipse.
Как правило, файлы / правила игнорирования, которые должны игнорироваться, должны указываться в .gitignore
и в противном случае файлы, которые вы хотите игнорировать только в локальном клоне, должны .git/info/exclude
Гуглил: 3 способа исключения файлов
.gitignore
применяется к каждому клону репо (он поставляется как версионный файл),.git/info/exclude
относится только к вашей локальной копии хранилища.~/.gitconfig
относится только к вашему компьютеру во всем мире
Просто для того, чтобы предложить наш (реальный мир) опыт: мы начали использовать.git / info / exclude, когда нам пришлось настраивать некоторые файлы конфигурации в каждой среде разработки, но все же хотели, чтобы исходный код сохранялся в репозитории и был доступен другим разработчикам.
Таким образом, локальные файлы после клонирования и изменения могут быть исключены из коммитов, не затрагивая исходные файлы в репо, но не обязательно игнорируясь в репо.
Использование .gitignore
игнорировать правила, специфичные для проекта. использование exclude
или глобальный файл игнорирования для правил игнорирования, специфичных для вашей среды.
Например, мои глобальные файлы игнорирования игнорируют временные файлы, сгенерированные любым редактором, который я использую - это правило специфично для моей среды и может отличаться для некоторых других разработчиков в том же проекте (возможно, они используют другой редактор). ОТО, мой проект .gitignore
файлы игнорируют такие вещи, как ключи API и артефакты сборки - они предназначены для проекта и должны быть одинаковыми для всех участников проекта.
Это помогает?