Сервер видит, какие изменения вносит каждый член команды, и контролирует, нет ли конфликтующих между собой частей кода. Такие VCS называют централизованными. Это удобнее, чем постоянно делать резервные версии. Но если сервер будет неисправен, все наработки пропадут.
Поэтому удобнее воспользоваться такими сервисами, как Git, — с распределёнными VCS. Файлы синхронизируются между ПК и центральным репозиторием. Каждый программист получает весь репозиторий, а не конкретные файлы. Можно как отправить изменения на сервер, так и скачать те, что внесли другие программисты.
Ревьюер — обычно коллега-программист — одобряет запрос на добавление кода, и тогда этот код становится частью репозитория. Если есть замечания, ревьюер пишет комментарии, и разработчик их учитывает.
В случае с распределёнными VCS актуальные файлы можно взять у любого из членов команды. И даже если что-то вышло из строя у одного из разработчиков, это не страшно.
Git — это система контроля версий, а GitHub — онлайн-сервис, по сути социальная сеть. Одна из основных целей GitHub — быть единым местом для проектов с исходным кодом. Предполагается, что пользователь делится чем-то полезным, а другие люди смогут участвовать в разработке.
Ещё один вариант — использовать GitHub как хранилище проектов для портфолио: легко дать на них ссылку.
Ещё один вариант — игра для изучения GIT Oh My Git!. Игра визуализирует внутреннюю структуру Git в режиме реального времени. Ученик подключает реальный репозиторий, изучает команды и выполняет их. Видит результат на игровом поле.
Для новичков игра предлагает режим в виде карточек, которые позволяют лучше и быстрее запоминать команды. Для более продвинутых те же действия можно делать во встроенном терминале. Исходники на GitHub.
Репозитории могут включать файл README с информацией о проекте. Для загрузки на GitHub своего репозитория добавлять файл README не нужно. В этом случае нужен именно пустой репозиторий, куда будет залит существующий код. С пустым репозиторием на GitHub отобразит подсказку, как создать или клонировать репозиторий.
Чтобы загрузить или создать репозиторий, воспользуйтесь выпадающим меню в правом верхнем углу на любой из страниц GitHub и выберите New repository.
Настройки созданного репозитория
Визуальное отображение информации о репозитории
Когда создаётся ответвление от основной ветви проекта в GitHub, создаётся копия основной ветви в том виде, в котором она была в этот момент. Если кто-то другой вносил изменения в основную ветку, пока владелец ветки работал над своей, он сможет использовать обновления. Этого не происходит автоматически. Человек должен сам обновить свою ветку, если захочет.
Для создания ветви перейдите на вкладку «Code» в созданном репозитории и щёлкните на выпадающем списке веток и тегов в верхней части списка с надписью main. В текстовом поле введите название ветви, например edits, после чего нажмите «Create branch» — edits отразится в основной ветви.
Если пользователь сделал коммит на своём компьютере, то сразу же в центральном репозитории коммит не появится. Чтобы он там появился, необходимо выполнить команду push — надо отправить свою текущую версию ветки.
Для того чтобы сделать коммит, в созданной ветке edits отредактируйте файл README.md. В поле «Edit file» напишите сообщение об изменениях и сохраните их.
● Создаёт пулл реквест (pull request).
● Ревьюер перепроверяет работу и её одобряет, после чего объединяет с основной веткой.
Например, вы можете создать отчёт об ошибках из репозитория, элемента в списке задач, заметки в проекте, комментария в проблеме, конкретной строке кода.
С тем, чтобы отслеживать отчёты об ошибках, помогут списки задач. А чтобы распределить связанные вопросы по категориям, удобно использовать метки.
Чтобы перейти во вкладку создания проекта, нажмите на аватар профиля в правом верхнем углу и выберите соответствующий пункт. Откроется меню, где отображаются все созданные проекты.
Проект автоматически обновляется в соответствии с информацией на GitHub. При изменении запроса на доработку проект отражает эти изменения.
GitHub — это и iCloud, и соцсеть для программистов и разработчиков приложений. Одна из основных целей GitHub — быть единым удобным местом для проектов с исходным кодом. Кроме этого, у каждого разработчика есть собственная страница, где можно посмотреть его активность.
Процесс участия в разработке чужих проектов с исходным кодом и заведение задач (багов) называется «контрибьютить» (contribute). Если человек, помимо своей основной работы, находит время на это, он вносит вклад в общее дело.
Читать также: