Иногда, исследуя чужие репозитории на github, замечаешь ошибки, неточности или же понимаешь, что мог бы добавить что-нибудь полезное, но, кого-то необходимость выполнять кучу действий в командной строке может отпугнуть, кому-то она в данный момент не доступна, и мы проходим мимо.
Многие опытные пользователи github-а знают, что отнюдь не для всего обязательно нужно использовать командную строку. Все это так.
Здесь я собрал несколько рецептов, используя которые, вы сможете без единой команды git, скопировать себе репозиторий, создать там вспомогательную ветку, в ней что-то отредактировать, добавить/удалить файлы/папки, сделать пулл-реквест в оригинальный репозиторий. А по истечению какого-то времени, когда в оригинальном репозитории накопятся изменения не отраженные в нашей копии — синхронизировать эти два репозитория — причем тоже без единой git-команды.
Думаю с созданием форка (копированием репозитория к себе) — все легко справятся, поэтому сразу идем дальше.
Создание ветки
Считается признаком хорошего тона, если вы оформите свои правки в отдельной ветке, ведь хозяин оригинального репозитория может попросить вас что-то поменять/доработать перед слиянием.
Создать новую ветку (копированием из текущей) можно прямо в окошке смены ветки. Вводим имя — enter — готово.
Добавление файлов
Создание новых файлов здесь же — далеко ходить не нужно. Жмем "+"
И сразу же переходим в режим редактирования вновь созданного файла:
Здесь можно отредактировать как сам файл, так и его имя. В редактировании имени есть одна интересная особенность — используя '/' и '../' можно перемещаться по дереву каталогов. (в итоге, при создании файла, заодно будут созданы, не существовавшие до этого папки)
Синхронизация форка с основным репозиторием
Часто бывает так, мы делаем форк репозитория, правим там что-то, делаем pull-request. Автор принимает этот pull-request и мы успокаиваемся на некоторое время. Через пару месяцев, мы вновь хотим что-то улучшить, но наша копия уже безнадежно устарела. Здесь требуется синхронизация. Легко можно найти как это сделать, используя командную строку. Намного реже встречается объяснение того, как это сделать непосредственно на github.
Итак:
- открываем свой форк на github
- заходим с список его pull-request-ов
- жмем «New Pull Request», по умолчанию github берет за базу оригинальный репозиторий и сравнивает наш с ним, но нам нужно наоборот
- жмем «switching the base», (если мы что-то редактировали в своей копии, нужно нажать Edit, и вручную поменять базу) — сразу же увидим все, что в оригинальном репозитории было добавлено в последнее время
- жмем «Создать Pull-request», даем ему какое-нибудь понятное имя, типа «Update from original»
- жмем «Send pull request»
- жмем «Merge pull request» и подтверждаем это действие — все
Столько пунктов, скажите вы — согласен, в виде списка выглядит громоздко, попробуйте видео — всего 53 секунды. Я сам, попробовав всего раз, сразу же запомнил и стал использовать.
P.S.
Я не стал здесь описывать очевидные вещи: как сделать форк, как сделать pull-request — так как они делаются в 1 клик.
А что еще из неочевидного можно делать с репами без использовани командной строки?
Автор: zag2art