Эта статья является продолжением*
Работа в команде
Для коллективной работы над проектом в GIT используются удаленные репозитории, например на GitHub или GitLab. Каждый разработчик клонирует этот репозиторий локально и работает со своей копией.
После внесения изменений, с помощью команд git push и git pull изменения обмениваются между удаленным и локальным репозиториями. Так вся команда остается на одном уровне.
Чтобы не переписываться одни и те же функции, разработчики часто работают по отдельным веткам. Работая в паре, могут создавать совместные ветки.
Когда функционал готов, ветка объединяется с основной. Так происходит непрерывная интеграция изменений.
GIT также отслеживает авторство каждого коммита. Это помогает определить, кто какую часть проекта писал.
Интерфейсы
GIT - это консольная утилита. Но есть графические оболочки, например:
- SourceTree - визуальный интерфейс GIT для Windows и Mac. Простой и удобный (Darkon рекомендует).
- GitHub Desktop - официальный клиент GitHub. Также имеет простой интерфейс.
- SmartGit - разработка фирмы TeamForge. Имеет множество полезных функций.
- GitKraken - популярный графический клиент с подробной визуализацией истории.
Эти приложения позволят визуально управлять файлами GIT, создавать коммиты, ветки, объединять их и многое другое.
Расширенные возможности
GIT позволяет:
- Игнорировать файлы - с помощью файла .gitignore
- Метки тегов - для отмечать версии релизов (v1.0, stable и т.д.)
- Слияние коммитов - объединять несколько коммитов в один с помощью squash и fixup
- Отправлять части файлов - с помощью staged patch
- Сборки непрерывной интеграции - автоматически сборки при каждом коммите
- И многое другое
Подводя итог
GIT - удивительно мощный и сложный инструмент. Но основные команды могут выучить все. С их помощью можно сотрудничать в команде, визуализировать процесс, откатывать изменения.
Для более глубокого изучения GIT рекомендую читать документацию, решать учебные задачи на сайтах вроде GitHub Learning Lab и, конечно, просто экспериментировать.
Я надеюсь, что и эта вторая часть статьи поможет вам более эффективно работать с GIT.