Почему я должен использовать .gitignore?
В настоящее время, когда я создаю файл, который я хочу, чтобы Git отслеживал, я просто добавляю его в индекс. Если я не добавлю его в индекс, Git не увидит его. Так почему я должен использовать файл .gitignore, а не просто не добавлять его в индекс?
Ответы
Ответ 1
Обычно вы обнаружите, что добавление каждого файла по одному может стать утомительным, когда ваш проект станет больше.
В Java вы можете получить множество файлов .class
, которые вы бы не захотели добавить в ваш репозиторий. Точно так же вы можете получить много файлов .o
в C или .pyc
в Python (например).
Наличие таких шаблонов, как *.class
, *.o
, *.pyc
в ваших файлах .gitignore
позволяет вам игнорировать эти файлы раз и навсегда. Последующие прогоны git status
(или аналогичные, если вы используете графический интерфейс) не скажут вам, что это новые, необработанные файлы, что позволяет вам сосредоточиться на файлах, которые действительно новы и заметно не отслеживаются.
Это также может быть полезно, если вы добавляете весь каталог (например, git add myproject
): это позволяет вообще игнорировать категорию файлов.
Ответ 2
Он скрывает файл от git status
. Особенно с большим количеством сгенерированных файлов, которые вы действительно не хотите, чтобы они постоянно появлялись там. Это также мешает вам случайно добавить их, например. при выполнении git add somefolder
.
Цель файлов gitignore - гарантировать, что некоторые файлы, не отслеживаемые с помощью git, не будут отслежены.
Ответ 3
Цель файлов gitignore - гарантировать, что некоторые файлы, не отслеживаемые с помощью git, не будут отслежены.
http://git-scm.com/docs/gitignore
Скажите, что вы запускаете git add .
из корневого каталога вашего репо, и вы ничего не игнорируете. Вы только что добавили в индекс все те файлы, о которых вы раньше игнорировали. Дополнительным преимуществом является то, что с контролируемой версией .gitignore
вы можете убедиться, что другие не совершают подобную ошибку.
Ответ 4
Да, во избежание нежелательных файлов, которые должны быть зафиксированы в удаленном репозитории GIT.
Просто укажите соответствующее описание в файле .gitignore, например,
если я хочу избежать файлов с расширением файла pyc или .class, тогда,
*.pyc
*.class
Я поставлю эти две строки в файл .gitignore. в будущем мне не нужно беспокоиться об этих файлах, которые никогда не будут выполняться в GIT repo.
Спасибо!
Ответ 5
Добавление каждого файла не утомительно. Например, если у вас есть куча новых .java файлов, вы можете сделать:
find . -name \*.java | xargs git add
Сохранение всех возможных исключений в .gitignore будет утомительным, если у вас их много. Таким образом, .gitignore имеет смысл, когда исключения (шаблоны файлов, которые не должны быть проверены), немногочисленны, но есть много шаблонов файлов, которые проверяются, и новые файлы появляются на регулярной основе. Но когда это так, я думаю, что жизнь лучше без .gitignore.
Ответ 6
В дополнение к удобству использования git commit -a
, это защитный барьер от случайного загрязнения вашего репозитория или предоставления конфиденциальной информации.
Ответ 7
Преимущество указания некоторых файлов в файл .gitignore
заключается в том, что вы можете сразу зафиксировать все ваши отслеживаемые файлы , не беспокоясь о том, что случайно проигнорированные файлы добавлены случайно.
Скорее всего, ваши файлы можно скопировать, например:
git commit -a
вместо добавления по одному...