Настоятельно рекомендуем прочитать это руководство для того, что бы лучше понять, как работает команда!
Итак, в своей работе мы используем следующие сервисы:
- GitLab - Здесь находятся все файлы;
- Trello - Здесь происходит распределение заданий, а так же багтрекер (место, куда скидывают все ошибки, недоработки и прочее).
Перед началом работы Вам следует зарегистрироваться на этих сервисах и сообщить руководству команды, что бы мы могли прислать вам инвайт (приглашение).
Ранее мы сообщили, что используем Git в своей работе - так давайте разберемся, что это такое.
Git - система контроля версий. Если говорить проще, Git позволяет забыть как страшный сон времена, когда участники команды отправляли друг другу *.pk3 и *.wad файлы.
Благодаря Git существует централизованное хранилище файлов и изменений в этих файлах, так что у всех будет одинаковая версия и не будет проблем с "скиньте мне последнюю версию".
А на вашем компьютере просто находится папка с файлами, которые Вы можете изменять.
Так же стоит уточнить, что Git хранит не сами файлы (это вам не файлообменник), а только их изменения, позволяя "вернутся назад во времени" или создавать разные версии файлов параллельно.
Немного терминологии:
-
Repo (репозиторий) - то самое централизованное хранилище;
-
Commit (коммит) - точка сохранения состояния файла. Коммит имеет своё имя и hash. Если говорить проще - это отпечаток изменений в файлах;
-
Branch (ветка) - с помощью веток можно создавать разные версии файлов. Например, нужно внедрить новую скриптовую систему во все уровни так, что бы не сломать игру. Для этого мы создаем новую ветку, где всё это делаем, и, после того, как всё работает, вносим эти изменения в основную ветку проекта (master);
-
Push (пуш, запушить) - процесс отправки своих изменений на сервер, после которого другие участники могут получить их с помощью Pull. Производится командой "git push";
-
Pull (пулл, запуллить) - процесс получения правок других участников с сервера. Производится командой "git pull";
С терминологией, вроде, разобрались - теперь приступим к практике!
Для начала работы вам нужно установить на компьютер Git-клиент.
Тут есть несколько вариантов:
- Git Kraken - просто и с графическим интерфейсом;
- Git-scm - для любителей командной строки.
Выбрали клиент? Супер, давайте продолжим!
Теперь вам нужно склонировать главный репозиторий DRRP (вы ведь уже зарегистрировались на GitLab и получили инвайт?)
Для этого в Git Kraken Вам нужно нажать на File -> Clone Repo
.
А в git scm ввести команду git clone тут_адрес_репозитория
.
После этого в выбранном каталоге у вас появится папка DRRP. Супер!
Теперь перейдём к редактированию файлов.
После изменений в файлах их нужно выбрать и закоммитить.
- Git Kraken: Для этого в Git Kraken выбираем в большом списке верхний пункт (там будет написано // WIP), после чего в правой части экрана появится панель настройки коммита. В Unstaged Files выбираем нужные файла, в Commit Message пишем название и описание коммита и нажимаем на большую зеленую кнопку внизу.
- Git scm: Выберите нужные файлы командой
git add
илиgit add .
для выбора всех файлов. После этого командойgit status
можно просмотреть список выбранных/не выбранных файлов. И в конце командойgit commit
закоммитить.
Внимание! Чем более детальные коммиты - тем лучше. Не стоит вносить несколько изменений в один коммит, и, тем более, подписывать как "Некоторые изменения"!
Пример правильного коммита:
Исправлены баги в INTRO
Исправлено:
* Теперь название уровня "Entrance"
- Огненные квадраты Лолика
- "Not nya Lolimpire"
* "Механизм открытия секретов Лолика"
* Кровать Лолика явно не подходит к окружению по текстурам.
Теперь текстуры подобраны в цветовой гамме больничных коек
+ Ящики (Возможно, не все)
[Trello] https://trello.com/c/....
Где первая строчка - название коммита (Summary в GitKraken) "+" условно показывает добавление нового, "-" - удаление старого, а "*" - изменение.
В конце должна быть ссылка на соответствующую карточку в Trello (если она есть). Так же, требуется прикрепить в карточку ссылку на коммит (с помощью вложения).
Так же коммит может содержать подробное описание, например:
Чуть-чуть изменена сила отдачи для винчестера.
Изменена она в меньшую сторону для большей правдоподобности.
Что произошло: я внезапно понял, что A_Recoil может работать и с дробными числами.
[Trello] https://trello.com/c/....
Нужно всегда держать Вашу папку в последнем обновлении, иначе у Вас могут быть старые версии файлов и Вы не сможете отправить их на сервер.
Внимание! Перед тем, как получить изменения с сервера, нужно убедится, что ваши локальные изменения закоммичены (commit), или сохранены (stash).
После этого вы можете получить изменения:
- Git Kraken: Нажмите большую кнопку Pull в верхней части экрана;
- Git scm: Наберите команду
git pull
.
Всё!
Внимание! Перед отправкой изменений на сервер, нужно (желательно) обновить свою папку (см. Git pull).
Теперь нужно отправить Ваши изменения в главный репозиторий, что бы другие участники команды могли их увидеть.
Для этого:
- Git Kraken: Жмем большую кнопку Push вверху экрана;
- Git scm: Пишем команду `git push'.
После этого Ваши изменения отправятся на сервер.
Надеюсь, мне удалось более-менее понятным языком объяснить вам, как работать с Git. Если Вас интересует более подробное руководство, Google Вам в помощь.
На всякий случай, повторюсь:
- Git commit - Создание слепка изменений;
- Git clone - Клонирование репозитория (создание папки);
- Git push - Отправка изменений на сервер;
- Git pull - Загрузка изменений с сервера (обновление папки).
В нашей работе больше значение играет распределение задач и поиск недоработок.
Для этих целей мы используем сервис Trello. Он позволяет распределять задачи между участниками с помощью карточек.
-
Доска - пространство, на котором находятся списки и карточки;
-
Список - списки представляют из себя именованные объекты, в которые добавляются карточки. В нашем случае есть 4 основных списка (Общие задания, Баги, Задания на постобработку, Выполнено) и отдельные списки для каждого из участников;
-
Карточка - все задания пишутся в карточках. Так же их можно комментировать, а так же прикреплять дополнения. Карточки можно перемещать между списками.
-
Общие задания - список, в котором находятся задания, которые не распределены между участниками. Из этого списка участники берут себе задания;
-
Баги - список, в который добавляют все найденные баги. Внимание! Все баги должны быть с меткой BUG;
-
Задания на постобработку - список, в котором находятся задания, которые нужно выполнять в последнюю очередь;
-
Выполнено - сюда скидываются все выполненные карточки. По желанию, можно добавить так же и соответствующую метку.
Для того, что бы карточки были наиболее информативными, рекомендуется придерживаться следующих правил:
- Одна карточка на одно задание/баг (не считая однотипных)
- В карточке нужно указать ответственного человека (если он есть)
- К карточкам с багами желательно прикрепять скриншоты
Надеюсь, это руководство было информативным, и оно помогло Вам лучше понять, как происходит работа в команде DRRP.
Так же, Вы можете его дополнить.
Для отправки ссылки на конкретный раздел руководства используйте кнопку возле соответствующего раздела.
Список редакторов руководства:
- PROPHESSOR (16.12.2017) - автор руководства
- Morthimer McMare (16.12.2017) -- незначительные изменения по грамматике и пунктуации.
- PROPHESSOR (08.03.2018) - уточнения в разделе Git Commit
- PROPHESSOR (15.03.2018) - исправление ошибок
- PROPHESSOR (07.10.2018) - исправления markdownlint
- PROPHESSOR (13.01.2019) - исправление форматирования, требование линковки коммитов с карточками