Программы
Как обновить git fork (на github)

Как обновить git fork (на github)

Уже некоторое время силами сообщества 900913 переводим tldr на русский – краткие руководства по командам Linux, MacOS и т.д. В октябре за переводы взялись с новой силой – возможно, тому причина hacktoberfest от digitalocean и github.

Уже некоторое время силами сообщества 900913 переводим tldr на русский – краткие руководства по командам Linux, MacOS и т.д.

В октябре за переводы взялись с новой силой – возможно, тому причина hacktoberfest от digitalocean и github.

Сделать это не сложно каждому:

  1. Форкнуть репозиторий (кнопочка в интерфейсе github)
  2. Перевести страницу, результат положить в файл {{ утилита }}_ru.md
  3. Сделать коммит с указанием #2 issue (этого)
  4. Сделать pull-request (кнопочка в интерфейсе github) – рассмотрю в течении 23 часов
  5. Поставить звёздочку (кнопочка в интерфейсе github – типа Like!)

– вот что нам говорит "хотелка №2" в репозитории.

Однако, не все из нас гуру программирования, тем более git. Поэтому возникает вопрос: ну форкнул я, ну запушил... а как обновить свою копию? Автоматом это не делается. Но есть команды, одинаковые для всех git-сервисов.

Для начала добавим основной репозиторий как upstream для своей локальной копии:

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

Получим знание о том, куда же ушагал upstream:

$ git fetch upstream
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
 * [new branch]      master     -> upstream/master

Переберёмся в свою основную ветку:

$ git checkout master
Switched to branch 'master'

Если все ваши изменения уже приняты в upstream, вы можете просто слить upstream в свой мастер:

git merge upstream/master
Updating a422352..5fdff0f
Fast-forward
 README                    |    9 -------
 README.md                 |    7 ++++++
 2 files changed, 7 insertions(+), 9 deletions(-)
 delete mode 100644 README
 create mode 100644 README.md

Ну и завершающий этап – залить всё это добро в свою удалённую копию:

$ git push origin master

Вот и всё, ребята! Пара-пара-пам!

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS