Участник:Richard Jones/Git/Github Desktop: различия между версиями

Материал из Tau Ceti Station Wiki
Перейти к навигации Перейти к поиску
(Новая страница: « ==Git ready to suffer== В этой статье кратко описан способ вносить в билд свои изменения с помощью Github Desktop, но если вам больше по душе консольный гит - вы можете прочитать этот гайд. Итак, начнем. Во-первых, вам понадобится скачать Git и GitHub Desktop. * [https://git-sc...»)
 
Строка 5: Строка 5:
Итак, начнем. Во-первых, вам понадобится скачать Git и GitHub Desktop.
Итак, начнем. Во-первых, вам понадобится скачать Git и GitHub Desktop.


* [https://git-scm.com/downloads Git]
* [https://git-scm.com/downloads Git] - да, консольный гит тоже лучше скачать, без него никуда.
* [https://github.com/apps/desktop Github Desktop] - В целом, вы можете использовать любой Git-клиент, которым вы уже умеете пользоваться (Например, GitKraken), но этот гайд будет написан для GitHub Desktop. И не забудьте создать на аккаунт на гитхабе!
* [https://github.com/apps/desktop Github Desktop] - В целом, вы можете использовать любой Git-клиент, которым вы уже умеете пользоваться (Например, GitKraken), но этот гайд будет написан для GitHub Desktop. И не забудьте создать на аккаунт на гитхабе!


[https://git-scm.com/book/ru/v2/GitHub-%d0%92%d0%bd%d0%b5%d1%81%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%be%d0%b1%d1%81%d1%82%d0%b2%d0%b5%d0%bd%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d0%ba%d0%bb%d0%b0%d0%b4%d0%b0-%d0%b2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d1%8b форк]. Форк будет вашей собственной копией нашего репозитория, с которой вы можете делать все, что пожелаете! Просто нажмите эту кнопку на https://github.com/TauCetiStation/TauCetiClassic:
Для начала вам придется войти в ваш новоиспеченный Гитхаб аккаунт в GitHub Desktop. Процесс не сложный и не потребует много времени!
 
Войдя в приложение, нам потребуется сделать так называемый [https://git-scm.com/book/ru/v2/GitHub-%d0%92%d0%bd%d0%b5%d1%81%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%be%d0%b1%d1%81%d1%82%d0%b2%d0%b5%d0%bd%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d0%ba%d0%bb%d0%b0%d0%b4%d0%b0-%d0%b2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d1%8b форк]. Форк будет вашей собственной копией нашего репозитория, с которой вы можете делать все, что пожелаете! Просто нажмите эту кнопку на https://github.com/TauCetiStation/TauCetiClassic:
[[Файл:How_to_fork.png|без|мини|400x400пкс]]
[[Файл:How_to_fork.png|без|мини|400x400пкс]]


Строка 33: Строка 35:


Вот, как все должно выглядеть. Вы отлично справляетесь, так держать!
Вот, как все должно выглядеть. Вы отлично справляетесь, так держать!
 
==Устанавливаем хуки==
== Устанавливаем хуки ==
'''Этот шаг очень важен!'''
'''Этот шаг очень важен!'''


Строка 43: Строка 44:
==Делаем изменения==
==Делаем изменения==
Теперь вы можете делать все, что вашей душе угодно - будь то изменения кода, [[Guide to Mapping|маппинг]], [[Soundmaking|новые звуки]] или [[Guide to Spriting|спрайты]]. Главное, помните - после того, как сделаете изменения, не забывайте их протестировать, закомпилировав код и запустив [[Server Startup|локальный сервер]].
Теперь вы можете делать все, что вашей душе угодно - будь то изменения кода, [[Guide to Mapping|маппинг]], [[Soundmaking|новые звуки]] или [[Guide to Spriting|спрайты]]. Главное, помните - после того, как сделаете изменения, не забывайте их протестировать, закомпилировав код и запустив [[Server Startup|локальный сервер]].
Также, перед тем, как делать изменения, нужно подтянуть ("фетч") обновления с нашего репозитория . Сделать это не сложно! Переходим в меню "Branch" и нажимаем "Update from upstream/master":
[[Файл:How to fork9.png|без|мини|400x400пкс]]
Нужно будет проделать то же самое перед тем, как создавать ПР.


==Отправляем Commit==
==Отправляем Commit==
Строка 55: Строка 60:
“Undo commit” просто отменит ваш коммит, и тогда вы сможете внести любые новые изменения, а затем повторно сделать коммит. Это одно из преимуществ Git: у него мощная система управления версиями, которую вы можете легко использовать для перехода от одной точки во времени работы к другой.
“Undo commit” просто отменит ваш коммит, и тогда вы сможете внести любые новые изменения, а затем повторно сделать коммит. Это одно из преимуществ Git: у него мощная система управления версиями, которую вы можете легко использовать для перехода от одной точки во времени работы к другой.


==Создаем Pull Request==
==Создаем Pull Request ==
Однако, если вы довольны изменениями, то обратите внимание на эти кнопки:
Однако, если вы довольны изменениями, то обратите внимание на эти кнопки:
[[Файл:How to commit4.png|без|мини|400x400пкс]]
[[Файл:How to commit4.png|без|мини|400x400пкс]]
Строка 69: Строка 74:
*Ключевым моментом для чейнджлога является метка <code>:cl:</code> . Всё что идёт после неё будет считаться обработчиком за чейнджлог, который и будет высвечиваться в игре. '''(Поэтому важно, чтобы под меткой ничего кроме самих чейнджлогов не было.)''' Через пробел можно написать свой ник, но это целесообразно только в том случае, если имя аккаунта на гитхабе и в игре различаются. В случае, если вы лишь посредник при публикации ПРа (вас попросили залить кем-то нарисованные спрайты), то хорошим тоном будет вписать профиль того человека. Сюда можно написать более одного ника.
*Ключевым моментом для чейнджлога является метка <code>:cl:</code> . Всё что идёт после неё будет считаться обработчиком за чейнджлог, который и будет высвечиваться в игре. '''(Поэтому важно, чтобы под меткой ничего кроме самих чейнджлогов не было.)''' Через пробел можно написать свой ник, но это целесообразно только в том случае, если имя аккаунта на гитхабе и в игре различаются. В случае, если вы лишь посредник при публикации ПРа (вас попросили залить кем-то нарисованные спрайты), то хорошим тоном будет вписать профиль того человека. Сюда можно написать более одного ника.


Далее речь пойдёт непосредственно о наполнении чейнджлога. Для упрощения восприятия и систематизации, различные нововведения подразделяются на группы, маркеры для которых представлен ниже. Вам необходимо сначала написать маркер, а уже затем описать, что вы сделали:
Далее речь пойдёт непосредственно о наполнении чейнджлога. Для упрощения восприятия и систематизации, различные нововведения подразделяются на группы, маркеры для которых представлен ниже. Вам необходимо сначала написать маркер, а уже затем описать, что вы сделали:  


*<code>- bugfix:</code> тут описываются различные фиксы;
*<code>- bugfix:</code> тут описываются различные фиксы;
Строка 81: Строка 86:
*<code>- sound:</code> звуки и всё что с ними связано будут тут;
*<code>- sound:</code> звуки и всё что с ними связано будут тут;


*<code>- spellcheck:</code> исправления/изменения в тексте;
*<code>- spellcheck:</code> исправления/изменения в тексте;  


*<code>- tweak:</code> изменения влияющие на игровой процесс, но, как правило, базирующиеся на существующем и являющиеся, в общем масштабе, незначительными (настройки чего-то или мелкофичи);
*<code>- tweak:</code> изменения влияющие на игровой процесс, но, как правило, базирующиеся на существующем и являющиеся, в общем масштабе, незначительными (настройки чего-то или мелкофичи);
Строка 93: Строка 98:
*<code>- experiment:</code> в данном разделе нужно описывать изменения, вероятность отката которых, вы не исключаете;
*<code>- experiment:</code> в данном разделе нужно описывать изменения, вероятность отката которых, вы не исключаете;


*<code>- ru:</code> изменения, касающиеся перевода; (вместо ru также можно использовать localization)
* <code>- ru:</code> изменения, касающиеся перевода; (вместо ru также можно использовать localization)


Стоит оговорить, что текста в чейнджлоге должно быть немного, но и информативность должна быть сохранена по-максимуму. Если вы уверены, что не уложитесь в понятие ''краткость'', то вы можете воспользоваться маркером  <code>[link]</code> , который нужно добавить к конкретной группе. Маркер даст указание обработчику в автоматическом порядке дописать к чейнджлогу гипер-ссылку ведущую на ваш ПР, в котором вы можете спокойно разгуляться с описанием. Как это должно выглядеть на практике можно увидеть в далее приложенном примере.
Стоит оговорить, что текста в чейнджлоге должно быть немного, но и информативность должна быть сохранена по-максимуму. Если вы уверены, что не уложитесь в понятие ''краткость'', то вы можете воспользоваться маркером  <code>[link]</code> , который нужно добавить к конкретной группе. Маркер даст указание обработчику в автоматическом порядке дописать к чейнджлогу гипер-ссылку ведущую на ваш ПР, в котором вы можете спокойно разгуляться с описанием. Как это должно выглядеть на практике можно увидеть в далее приложенном примере.

Версия 07:28, 13 мая 2025

Git ready to suffer

В этой статье кратко описан способ вносить в билд свои изменения с помощью Github Desktop, но если вам больше по душе консольный гит - вы можете прочитать этот гайд.

Итак, начнем. Во-первых, вам понадобится скачать Git и GitHub Desktop.

  • Git - да, консольный гит тоже лучше скачать, без него никуда.
  • Github Desktop - В целом, вы можете использовать любой Git-клиент, которым вы уже умеете пользоваться (Например, GitKraken), но этот гайд будет написан для GitHub Desktop. И не забудьте создать на аккаунт на гитхабе!

Для начала вам придется войти в ваш новоиспеченный Гитхаб аккаунт в GitHub Desktop. Процесс не сложный и не потребует много времени!

Войдя в приложение, нам потребуется сделать так называемый форк. Форк будет вашей собственной копией нашего репозитория, с которой вы можете делать все, что пожелаете! Просто нажмите эту кнопку на https://github.com/TauCetiStation/TauCetiClassic:

How to fork.png

Как только вы его сделаете, у вас должно появиться что-то подобное в вашем базовом профиле на GitHub.:

How to fork2.png

Отлично! Итак, я надеюсь, вы уже скачали Github Desktop? Следующая часть будет простой: нажмите эту удобную кнопку под “Code” прямо здесь:

How to fork3.png

Вы увидите экран, который выглядит примерно так. Просто убедитесь, что у вас есть чистая папка, в которую Git сможет клонировать себя, и нажмите “Clone”:

How to fork4.png

Итак, на следующем экране вам нужно нажать “Contribute to the parent project”. Это важно, потому что это немного облегчит вашу жизнь на последующих этапах (На этапе Пул Реквеста):

How to fork5.png

Круто, теперь у вас есть копия нашего билда! Однако, прежде чем делать какие-либо изменения, вам нужно сделать одну важную вещь:

How to fork6.png

Создать новую ветку! Это супер важно, потому что нам нужно, чтобы главная “master” ветка на вашем форке была как можно более "чистой", без ваших изменений. Для каждого отдельного проекта, над которым вы работаете и для которого отправляете запрос на обновление, вы создадите отдельную ветку. Не стесняйтесь называть ее как хотите! В конце концов, это ваша ветка.

How to fork7.png

Вы также можете увидеть экран с надписью “base it off the current branch” или “base it off the upstream/master”. Это зависит от того, чего вы хотите, но если вы хотите начать новый ПР с чистого листа, всегда нажимайте “base it off the upstream/master”.

How to fork8.png

Вот, как все должно выглядеть. Вы отлично справляетесь, так держать!

Устанавливаем хуки

Этот шаг очень важен!

Наш репозиторий довольно большой, и в нем одновременно работают большое количество людей, над большим количеством проектов, зачастую на одних и тех же файлах одновременно. Как следствие, в файлах могут возникать конфликты. Но у нас есть отличный набор инструментов, которые помогут нам справиться с этими конфликтами, и установка этих Git-хуков на данный момент - одна из лучших вещей, которые вы можете сделать.

Во-первых, в корневом каталоге вашего репозитория перейдите в /tools/_git-hooks и запустите _install.sh. Это автоматически настроит ваши Git-хуки, что избавит вас от многих трудностей. Этот хук будет "объединять" ваши изменения, когда вы редактируете карты. Удостоверьтесь, также, что у вас стоит Java, она нужна для хуков.

Делаем изменения

Теперь вы можете делать все, что вашей душе угодно - будь то изменения кода, маппинг, новые звуки или спрайты. Главное, помните - после того, как сделаете изменения, не забывайте их протестировать, закомпилировав код и запустив локальный сервер.

Также, перед тем, как делать изменения, нужно подтянуть ("фетч") обновления с нашего репозитория . Сделать это не сложно! Переходим в меню "Branch" и нажимаем "Update from upstream/master":

How to fork9.png

Нужно будет проделать то же самое перед тем, как создавать ПР.

Отправляем Commit

Пришло время отправлять изменения на главный репозиторий. Зайдите обратно в GitHub Desktop и проверьте, что в файлах нет лишних изменений, которые вы не хотите отправлять. Если вы хотите избавиться от чего-то - просто щелкните правой кнопкой мыши на файл, который хотите удалить, и нажмите “Discard changes”.

How to commit1.png

Допустим, я доволен тем, что сделал - что тогда? Меню коммита! Постарайтесь давать вашим коммитам адекватные названия, в формате "Removes clown" или "Tweaks the dorm room".

How to commit2.png

Отлично. Теперь нажмем “Commit to (здесь название вашей ветки)”. Если там написано “Commit to master/main”, не нажимайте эту кнопку, потому что вы испортите свою главную ветку вашего репозитория.

Поздравляю, вы “коммитнули” свои изменения! Что делать, если вам что-то в них не понравилось, и вы поняли, что допустили опечатку, или просто захотите вернуться? Вы всегда можете просто сделать другие изменения и снова сделать коммит, но вы также можете перейти на вкладку "История" и нажать эту кнопку:

How to commit3.png

“Undo commit” просто отменит ваш коммит, и тогда вы сможете внести любые новые изменения, а затем повторно сделать коммит. Это одно из преимуществ Git: у него мощная система управления версиями, которую вы можете легко использовать для перехода от одной точки во времени работы к другой.

Создаем Pull Request

Однако, если вы довольны изменениями, то обратите внимание на эти кнопки:

How to commit4.png

Любой из этих вариантов сработает, и ваша ветка будет загружена на удаленный сервер (github.com). Вот что отобразится далее:

How to commit5.png

Вот она, простая кнопка для создания ПР-а! Вы можете просто нажать на нее, и сразу же откроется страничка в вашем веб-браузере.

How to commit6.png

Теперь заполните описание ПР-а - так, как указано в шаблоне (добавление одного-двух превью ваших изменений очень приветствуется). При создании ПРа стоит придерживаться определённых норм, а именно: избегать употребления сленга, нецензурной брани и стараться избегать многократного употребления одних и тех же слов (последнее применительно только к чейнджлогу). Я бы посоветовал просмотреть примеры ПР-ов, открыть несколько из них и проанализировать то, как они описывают свои изменения.

Правильно пишем чейнджлог

После описания, вы должны самостоятельно написать чейнджлог, который будет виден в игре. Чейнджлог генерируется автоматически сразу после мержа изменений.

  • Ключевым моментом для чейнджлога является метка :cl: . Всё что идёт после неё будет считаться обработчиком за чейнджлог, который и будет высвечиваться в игре. (Поэтому важно, чтобы под меткой ничего кроме самих чейнджлогов не было.) Через пробел можно написать свой ник, но это целесообразно только в том случае, если имя аккаунта на гитхабе и в игре различаются. В случае, если вы лишь посредник при публикации ПРа (вас попросили залить кем-то нарисованные спрайты), то хорошим тоном будет вписать профиль того человека. Сюда можно написать более одного ника.

Далее речь пойдёт непосредственно о наполнении чейнджлога. Для упрощения восприятия и систематизации, различные нововведения подразделяются на группы, маркеры для которых представлен ниже. Вам необходимо сначала написать маркер, а уже затем описать, что вы сделали:

  • - bugfix: тут описываются различные фиксы;
  • - rscadd: в эту группу нужно вносить добавление нового функционала или фичь;
  • - rscdel: откаты фичь, удаление старого или ненужного и так далее;
  • - image: всё что касается визуальной составляющей уйдёт в эту группу;
  • - sound: звуки и всё что с ними связано будут тут;
  • - spellcheck: исправления/изменения в тексте;
  • - tweak: изменения влияющие на игровой процесс, но, как правило, базирующиеся на существующем и являющиеся, в общем масштабе, незначительными (настройки чего-то или мелкофичи);
  • - balance: затрагивая игровой баланс смело пишите сюда;
  • - map: изменения на карте;
  • - performance: всё что влияет на производительность игры или работы билда в целом, и прочее;
  • - experiment: в данном разделе нужно описывать изменения, вероятность отката которых, вы не исключаете;
  • - ru: изменения, касающиеся перевода; (вместо ru также можно использовать localization)

Стоит оговорить, что текста в чейнджлоге должно быть немного, но и информативность должна быть сохранена по-максимуму. Если вы уверены, что не уложитесь в понятие краткость, то вы можете воспользоваться маркером [link] , который нужно добавить к конкретной группе. Маркер даст указание обработчику в автоматическом порядке дописать к чейнджлогу гипер-ссылку ведущую на ваш ПР, в котором вы можете спокойно разгуляться с описанием. Как это должно выглядеть на практике можно увидеть в далее приложенном примере.

Важно: [link] - это всего лишь маркер для обработчика . В саму метку НИЧЕГО помещать не надо, ссылка получается АВТОМАТИЧЕСКИ обработчиком в процессе генерации чейнджлога.

На этом всё. Нажимаем "Create pull request". Готово! После создания ПРа :cl: заменится на эмодзи.

Пример

Текст с описанием вашего ПРа.
:cl:
- bugfix: Фикс невозможности сделать какое-либо действие.
- rscadd[link]: Добавлена куча ранее невиданных фич, описание каждой выльется во второй том произведения "Мёртвые души". (Тут, в игре, будет добавлено "- подробнее -", которое будет являться гипер-ссылкой.)

В случае, если вы сделаете что-то неправильно, не стоит пугаться, всегда найдутся те, кто подскажет, а в случае надобности и покажет как сделать правильно.

How to commit7.png

Нажмите “Create Pull Request” и дождитесь реакции браузера.

У вас получилось! Вы создали ПР на Гитхабе!