Подтвердить что ты не робот

Когда вы использовали бы .git/info/exclude вместо .gitignore для исключения файлов?

Я немного смущен про плюсы и минусы использования .git/info/exclude и .gitignore для исключения файлов.

Оба они находятся на уровне репозитория/проекта, поэтому как они отличаются и когда мы должны использовать .git/info/exclude?

4b9b3361

Ответ 1

Преимущество .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

Ответ 2

Гуглил: 3 способа исключения файлов

  1. .gitignore применяется к каждому клону этого репозитория (версионно, он будет у каждого),
  2. .git/info/exclude применяется только к вашей локальной копии этого хранилища (локальной, не переданной другим),
  3. ~/.gitignore применяется ко всем репозиториям на вашем компьютере (локальным, не доступным для других).

3. фактически требует настройки конфигурации на вашем компьютере:

git config --global core.excludesfile '~/.gitignore'

Ответ 3

Просто чтобы предложить наш (реальный мир) опыт: мы начали использовать .git/info/exclude, когда нам приходилось настраивать некоторые файлы конфигурации в каждой среде разработки, но все же хотели, чтобы источник поддерживался в репо и был доступен другим разработчикам,

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

Ответ 4

Используйте .gitignore для игнорирования правил, специфичных для проекта. Используйте файл exclude или global ignore для игнорирования правил, специфичных для вашей среды.

Например, мои глобальные файлы игнорирования игнорируют временные файлы, сгенерированные любым редактором, который я использую - это правило специфично для моей среды и может отличаться для некоторых других разработчиков в том же проекте (возможно, они используют другой редактор). Ото, мой проект .gitignore файлы игнорировать такие вещи, как ключи API и создавать артефакты-те для проекта, и должен быть одинаковым для всех на проекте.

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