Не каждый файл в вашем проекте должен контролироваться версиями. Узнайте, какие типы файлов следует исключить из исходного репозитория.
Контроль версий — жизненно важный инструмент для отслеживания изменений в кодовой базе, но вы не всегда хотите отслеживать каждый файл.
Чтобы избежать беспорядка и снизить риск распространения конфиденциальной информации, вы можете использовать файл с именем .gitignore. Этот файл указывает, какие файлы и каталоги Git не должен индексировать.
Определить, какие файлы включать в .gitignore, может быть непросто, особенно если вы новичок в разработке. Узнайте, какие файлы вы должны добавить в свой .gitignore для более плавного рабочего процесса Git.
Создание файла .gitignore
Чтобы ваш файл .gitignore имел какой-либо эффект, в вашем проекте должен быть инициализирован Git.
Вы можете инициализировать Git, выполнив следующую команду в своем терминале:
git инициировать
Эта команда создает новый репозиторий Git для вашего проекта в скрытом подкаталоге «.git», который содержит все файлы и каталоги, необходимые для управления версиями вашего проекта.
Чтобы запустить эту команду, вы должны иметь Git установлен в вашей системе.
Затем создайте файл .gitignore, выполнив следующую команду:
трогать.gitignore
Выполнение приведенной выше команды создает новый файл «.gitignore» в вашем текущем каталоге. Вы можете исключить файл из Git, добавив имя файла или путь к файлу (если файл находится в другом каталоге). .gitignore файл).
Git не нужно отслеживать каждый файл в вашем проекте, а отслеживание некоторых файлов может привести к непредвиденным проблемам. Вот некоторые из файлов, которые вы должны добавить в свой .gitignore.
1. Файлы конфигурации
В файлах конфигурации хранятся настройки и другие параметры, которые ваши приложения используют для определения и настройки своего поведения. В этих файлах часто хранятся строки подключения к базе данных, ключи API и другая конфиденциальная информация, которую не следует раскрывать в репозитории Git.
Если вы включаете файлы конфигурации в свой репозиторий, любой, кто имеет к нему доступ, может просматривать их содержимое. Это может включать конфиденциальную информацию, которая может привести к нарушениям безопасности и другим проблемам.
Чтобы исключить файлы конфигурации из репозитория Git, добавьте определенные имена файлов или имена папок в свой репозиторий. .gitignore файл.
Например, вы можете добавить строку ниже в свой .gitignore файл для игнорирования .env файл.
.env
2. Создавайте артефакты
Артефакты сборки — это скомпилированные или сгенерированные файлы, созданные при сборке проекта. Эти файлы обычно находятся в "цель" или "строить" каталог.
Артефакты сборки могут включать скомпилированные классы Java, файлы JAR, файлы WAR, двоичные файлы, пакеты распространения, отчеты, файлы журналов и другие файлы, созданные в процессе сборки.
Обычно рекомендуется исключать артефакты сборки из репозитория Git, поскольку они могут быть очень большими. Они также могут быть менее переносимыми, чем ваши исходные файлы, и иметь отношение только к определенной среде. Включение их в ваш репозиторий может увеличить размер вашего репозитория и замедлить его клонирование и работу с ним.
Чтобы исключить артефакты сборки из репозитория Git, добавьте "цель/" или "строить/" каталог на ваш .gitignore файл.
Например:
# .gitignore
цель/
строить/
3. Файлы интегрированной среды разработки
Файлы интегрированной среды разработки (IDE) — это файлы конфигурации, метаданные проекта и другие файлы, создаваемые вашей IDE при создании или открытии проекта. Эти файлы специфичны для каждой IDE. Ваша среда IDE использует эти файлы для настройки параметров проекта.
Эти файлы не нужны для сборки или запуска вашего приложения и часто могут вызывать проблемы, если они помещены в общий репозиторий Git. Например, разные люди в вашей команде могут использовать разные IDE или версии, а фиксация файлов, специфичных для IDE, может вызвать конфликты слияния и затруднить совместную работу над проектом.
Поскольку эти файлы специфичны для IDE, файлы, которые нужно включить в .gitignore файл будет зависеть от вашей IDE. Вот Рекомендации GitHub .gitignore для некоторых популярных IDE. Вы можете найти нужную IDE и добавить обведенные файлы в свой .gitignore файл.
4. Файлы зависимостей и пакетов
Файлы зависимостей и пакетов — это файлы, содержащие информацию о зависимостях и пакетах, используемых вашим приложением. Различные инструменты сборки, такие как диспетчер пакетов узлов (npm), сгенерируйте эти файлы.
Например, если вы используете npm для управления зависимостями для проекта JavaScript, он создаст "node_modules" в корневом каталоге вашего проекта. Каталог содержит все установленные зависимости для вашего проекта.
Этот каталог может стать очень большим, особенно если в вашем проекте много зависимостей или некоторые зависимости имеют большие размеры файлов. Исключив "node_modules" из вашего репозитория Git, вы можете сохранить его в чистоте и уменьшить его размер.
Чтобы не добавлять "node_modules" в свой репозиторий Git, добавьте его имя в файл .gitignore:
#.gitignore
node_modules/
5. Файлы операционной системы
Ваша операционная система и другие системные инструменты могут создавать файлы при обычном использовании. Это могут быть файлы журналов, временные файлы и файлы конфигурации системы. Примером является Thumbs.db файл в Windows и его эквивалент в macOS, .DS_Store файл.
Как правило, рекомендуется исключать файлы операционной системы из репозитория Git, поскольку они специфичны для вашей локальной среды и могут различаться между разными компьютерами и операционными системами. системы.
GitHub рекомендовал руководство по .gitignore для Окна, macOS, и линукс.
Важность контроля версий
Использование контроля версий может значительно улучшить ваш рабочий процесс и уменьшить количество ошибок и конфликтов, которые могут возникнуть при работе с кодовой базой. Благодаря контролю версий вы можете легко отслеживать изменения кода, просматривать их и беспрепятственно сотрудничать с членами команды.
Однако вы всегда должны исключать определенные файлы, такие как файлы конфигурации, файлы IDE и файлы ОС. Это уменьшит размер вашего репозитория и предотвратит утечку конфиденциальной информации.