Когда бы вы использовали.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 и артефакты сборки - они предназначены для проекта и должны быть одинаковыми для всех участников проекта.

Это помогает?

Другие вопросы по тегам