git init

Тема дорожной карты · Изучи Git

git init создаёт .git/ в текущей папке и превращает её в пустой репозиторий — поднимаются хранилище объектов, HEAD, refs и конфиг. Эта команда необходима только один раз для инициализации нового проекта, но её повторное выполнение безопасно и переинициализирует только общие ресурсы. Опция --bare позволяет создать серверный репозиторий без рабочей копии, а опция --initial-branch=main задаёт стартовую ветку. Опция --separate-git-dir позволяет вынести метаданные репозитория за пределы рабочей директории, что может быть полезно для организации пространства на диске.

Как это работает

Команда git init создаёт структуру репозитория, включая папку .git/, где хранятся все данные репозитория. После инициализации репозитория, вы можете использовать команды Git для управления изменениями. Например, git status показывает текущее состояние рабочего каталога, git add <file> стадирует файлы, git commit -m "msg" фиксирует стадированные изменения, git log выводит историю коммитов, а git diff показывает разницу между текущим состоянием и последним коммитом. Для отмены изменений используется команда git restore <file>, а для удаления файлов — git rm <file>.

Когда применять

git init следует использовать только один раз для инициализации нового проекта. После этого можно использовать другие команды Git для управления изменениями. Например, git status можно использовать для проверки текущего состояния проекта, git diff — для просмотра нефиксированных изменений, а git commit -v — для просмотра разницы между текущим состоянием и последним коммитом в редакторе сообщений. Команда git add -p позволяет селективно стадировать изменения в файлах.

Типичные ошибки

Существуют некоторые распространённые ошибки при использовании git init. Например, часто команда git add . используется для добавления всех файлов в стад, но перед этим следует выполнить git status для убедительной проверки, что вы не добавляете нежелательные файлы, такие как .env, node_modules, временные файлы IDE и т.д. Также, привычка использовать git commit -am "wip" для создания промежуточных коммитов может засорить историю репозитория, что может привести к проблемам при слиянии веток. Наконец, бездумное использование git push -f для принудительного обновления удалённого репозитория может привести к конфликтам с другими участниками проекта.

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…