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

Почему я должен использовать .gitignore?

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

4b9b3361

Ответ 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

вместо добавления по одному...