-
Notifications
You must be signed in to change notification settings - Fork 116
Работа с Гитом и Гитхабом
Andrey Lemin edited this page Aug 27, 2023
·
2 revisions
Кратко опишу типичный способ организации командной работы в Гитхабе.
Для того, чтобы начать работу, в любом случае потребуется хотя бы базовые знания о системе контроля версий Git. Вот полезные ссылки:
https://habrahabr.ru/post/104198/ — статья с общей информацией о Гите.
https://git-scm.com/docs — самый полный и подробный справочник
https://git-scm.com/book/ru/v2 — книга на русском.
https://githowto.com/ru — курс обучения на русском.
В первую очередь следует сделать свой fork этого репозитория. Процесс подробно описан в статьях:
https://help.github.com/articles/fork-a-repo/
https://guides.github.com/activities/forking/
- Выберете ишью на Гитхабе и напишите в комментарии к нему, что готовы за него взяться. "Чужие" ишью не берите
-
Обновите ваш локальный репозиторий. Для этого переключитесь на ветку master и выполните Pull
git checkout master git pull upstream
В результате этих действий ваш master должен указывать на тот же коммит, что и в оригинальном репозитории. -
Находясь в master'е, создайте отдельную локальную ветку для своих изменений. Позаботьтесь о названии: оно должно начинаться с номера issue и быть таким, чтобы отражать то, над чем вы работаете (например, 625-damage-events):
git branch 625-damage-events
-
Переключитесь на ветку задачи:
git checkout 625-damage-events
- Определитесь с тем, над чем вы будете работать: какой предполагаемый набор изменений и какова их причина. Сделайте задуманные изменения локально.
-
После каждой логически завершённой порции изменений делайте коммит:
git add <путь или шаблон пути к файлу(ам), который(е) нужно добавить в индекс> git commit -m "<сообщение коммита>"
Соглашения о сообщениях к коммиту (важно!):- плейнтекст на английском языке
- длина строк не больше 72 символов. Перенос - дефисом по правилам языка.
- первая строка, заголовок, - не больше 50 символов
- заголовок следует начинать со ссылки на задачу по номеру с решёткой
- заголовок пишется императивом, как будто бы отдаёшь приказания некому исполнителю: "Add weapon name", а не "Adds" или "Added".
- точку в конце заголовка не ставить.
#625 Fix component label #625 Add shotgun description
-
После завершения запланированных работ убедитесь, что у вас нет незакоммиченных изменений, затем залейте свою ветку на ваш форк на GitHub'е:
git push origin 625-damage-events
- На гитхабе основного проекта создайте пулреквест во вкладке "Pull requests". Выберите в качестве основной ветки master, а в качестве сравниваемой - ветку 625-damage-events вашего форка. Жмите на зелёную кнопку. После этого во вкладке "Pull requests" должен быть виден созданный пулреквест.
- Ждите, пока народ раскритикует ваши изменения. В это время вы можете работать над другой задачей. Повторите для неё действия, начиная с первого пункта.
- Проверяйте замечания других участников в созданном вами пулреквесте. Для их исправления выполняйте пункты 4-7. Создавать новые пулреквесты при этом не надо! Все новые коммиты вашей ветки отобразятся в том же пулреквесте.
- Если проблем нет, ответственный человек нажмёт заветную кнопку "Merge pull request", и ваши изменения залиты в рабочую ветку. Ура!
- Удалите теперь уже ненужную ветку production-buildings локально и из вашего форка:
git branch -d 625-damage-events git push origin --delete 625-damage-events