Я пользуюсь примерно следующим алгоритмом.
Предполагается, что Вы уже сделали следующее и знаете, как с этим работать:
- Установили программу для работы с Git, например Github for Windows.
- Имеете аккаунт на сайте https://phpbb.com/ и выполнили вход на сайте https://tracker.phpbb.com/.
- Имеете аккаунт на сайте https://github.com/ и вошли на сайт.
- Умеете вводить команды в консоль и менять текущий рабочий каталог с помощью команды
cd
.
- Имеете базовые знания английского языка.
Меня больше всего интересует работа с командной строкой, поэтому далее речь пойдёт о Git Bash. Эта консоль идёт в комплекте с Github for Windows, но Вы можете использовать и другую консоль, поддерживающую команды Git. Далее для простоты буду называть понравившуюся Вам консоль, поддерживающую команды Git, просто словом "консоль".
Работаю на localhost, файлы движка синхронизируются с GitHub автоматически.
Для простоты скажу, что первоначально (всего один раз для начала работы с движком) понадобится сделать форк репозитория phpbb через Web-интерфейс GitHub, выполнить
Код: Выделить всё
git clone https://github.com/ВАШ_ЛОГИН_НА_GITHUB/phpbb.git .
в каталоге на Ваш выбор и настроить корень сайта на путь к каталогу с добавкой
/phpBB
.
Все команды, представленные ниже, нужно выполнять относительно именно этого каталога (без добавки).
Примеры основаны на правках ветки 3.1.x.
Как же внести свои правки (пусть даже простейшие - исправления опечаток в комментариях)?
Шаг 1. Убеждаемся, что у нас стоит относительно свежая версия phpBB ветки, в которую мы хотим внести правки.
Если это не так, в консоли выполняем:
Шаг 2. Вносим правки и убеждаемся, что они работают (если ранее localhost был настроен для соответствующего каталога).
Шаг 3. Открываем
https://tracker.phpbb.com/ и нажимаем на кнопку Create.
Выбираем Issue Type в зависимости от характера правок (исправление бага/новая функция). Для добавления событий и мелких правок подойдёт тип Improvement (хотя для событий можно и New Feature).
Пишем Summary - название будущего ticket. Это краткое и ёмкое описание того, что исправляют Ваши правки.
Пишем Description - подробное описание того, зачем нужны данные исправления.
Остальные поля необязательны, но лучше выбрать текущую версию в списке Affects Version/s, а для событий указать Component/s - Events.
Не забудьте также задать правильный приоритет для исправляемой проблемы.
Шаг 4. Нажимаем на кнопку Create - появляется всплывающее сообщение о созданном ticket.
Нажимаем на ссылку в этом сообщении либо сохраняем/запоминаем номер созданного ticket (указан в самом начале его названия).
Шаг 5. Открываем консоль и выполняем команды:
Код: Выделить всё
git checkout 3.1.x
git pull upstream 3.1.x
git checkout -b ticket/XXXXX
git add --all .
git commit
Здесь и далее
XXXXX
- номер нашего ticket, например 12345 для PHPBB3-12345.
Здесь на всякий случай не помешает снова выполнить синхронизацию нашей локальной копии репозитория (вторая строчка в списке команд).
После выполнения команд из списка выше откроется текстовый редактор. В нём уже что-то есть (список вносимых изменений - ещё раз убедитесь, что не добавили ничего лишнего и ничего не забыли), но это можно стереть, если отвлекает.
В редакторе первой строкой вводим
[ticket/XXXXX] My edit.
, где
My edit.
- произвольное название commit'а (обычно совпадает с названием ticket).
Вторая строка обязательно пустая.
Далее можно добавить подробное описание изменений в этом конкретном commit (после чего снова добавить пустую строку), но это не обязательно.
Следующая, последняя, строка - это полный идентификатор нашего ticket, например
PHPBB3-12345
.
Шаг 6. Сохраняем изменения в текстовом редакторе и закрываем его.
Шаг 7. Выполняем команду:
git push origin ticket/XXXXX
Шаг 8. Открываем репозиторий phpbb на сайте github.com или свой форк этого репозитория.
GitHub автоматически предложит создать Pull Request для только что сделанных правок - нужно только нажать на соответствующую кнопку и подтвердить свои действия.
В общем-то, всё.
В качестве бонуса отмечу возможность самому добавлять некоторые labels для своих PR с помощью написания комментариев
!set Event
для добавления/исправления событий и
!set Styles
для исправления файлов стиля.
Возможно, мой опыт кому-то пригодится.