Рубрики
Uncategorized

Как синхронизировать вашу вилку GitHub

Внедрение сначала, давайте начнем с объяснения, что такое вилка. Вилка — это копия представителя … Помечено GitHub, Linux, Codequality, Devops.

Во-первых, давайте начнем с объяснения, что такое вилка.

Вилка — это копия репозитория. Выполнение репозитория позволяет свободно экспериментировать с изменениями, не влияя на исходный проект.

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

  • Вилка хранилище.
  • Сделать исправление.
  • Отправьте запрос на потяжку владельца проекта.

Процесс довольно прост и прямой Но это может быть запутано, если вы еще не сделали его до или если вы все еще привыкли к Git.

Синхронизация вилки с восходящим репозиторием

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

git remote -v

Пример будет:

git remote -v
origin  git@github.com:$USER/$FORK_NAME.git (fetch)
origin  git@github.com:$USER/$FORK_NAME.git (push)

Если вы еще не добавили репозиторий UPStream, вы можете сделать это, используя следующую команду:

git remote add upstream 

Теперь запустите снова предыдущую команду и убедитесь, что выше поток перечислены:

origin  git@github.com:$USER/$FORK_NAME.git (fetch)
origin  git@github.com:$USER/$FORK_NAME.git (push)
upstream     (fetch)
upstream     (push)

Теперь, чтобы получить все ветви и коммиты из репозитория восходящего потока, вам нужно выполнить эту команду:

git fetch upstream

Пример вывода будет:

git fetch upstream
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 33 (delta 17), reused 24 (delta 17), pack-reused 7
Unpacking objects: 100% (33/33), done.
From 
 * [new branch]      feature/$BRANCH_NAME -> upstream/feature/$BRANCH_NAME
 * [new branch]      feature/$BRANCH_NAME   -> upstream/feature/$BRANCH_NAME
 * [new branch]      master                         -> upstream/master
 * [new tag]         0.0.4                        -> 0.0.4
 * [new tag]         0.0.3                        -> 0.0.3

Теперь вы можете переключиться на основную ветку Fork (если вы уже на главной ветви, этот шаг не нужен.)

git checkout master

Пример вывода будет:

git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

И теперь все, что нам нужно сделать, это объединить все изменения из репозитория восходящего воздуха в нашу местную ветку Master. Вам необходимо выполнить следующую команду:

git merge upstream/master

Вывод покажет вам и изменения, которые сделаны, включая изменения файлов, вставки и удаления

Автоматизация

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

Если вы хотите добавить псевдоним, вместо использования скрипта Bash, просто откройте свой .bashrc (или .zshrc, в зависимости от вашей оболочки) и установите псевдоним.

alias sync-repository="git fetch upstream && git checkout master && git merge upstream/master"

После этого вам нужно будет источник ~/.bashrc или ~/.zshrc Файл с этой командой:

source ~/.bashrc
source ~/.zshrc

Теперь вы можете использовать псевдоним, когда вы находитесь в каталоге проекта и просто выполните имя псевдонима:

sync-repository

Другое действительно полезное решение — использовать приложение Phbot GitHub

Приложение будет автоматически посмотреть и потянуть ветку Upstream (Master) к вашему с использованием жесткого сброса каждые несколько часов. Вы можете проверить это здесь:

https://probot.github.io/apps/pull/

Дополнительные функции:

  • Убедитесь, что вилки обновлены.
  • Автоматически интегрировать новые изменения от UPStream.
  • Запросы на тяга создаются при обновлении UPTREAMS.
  • Автоматически объединять или жесткий сброс вытягивания запросов на соответствие выше по потоку.
  • Добавьте задание и рецензенты для вытягивания запросов.
  • Настройте этикетку запроса на тягу.
  • Правила защиты от ответственности чести.
  • Хорошо работать с проверками запросов по тягам и отзывам.

Заключение

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

Таким образом, все, что вам нужно сделать, всякий раз, когда вы хотите синхронизировать, хранилище — это извлечь вверх по течению, а затем объединить восходящее репо в местную вилку.

Дополнительные источники

Я рекомендую вам проверить официальные документы GitTub, а также как синхронизировать вилку

https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork

Служба поддержки

Если вам понравилось прочитать этот пост или узнать что-то новое и хотел бы поддержать меня публиковать больше контента, как этот, вы можете поддержать меня с покупкой кофе:

Спасибо!

Оригинал: «https://dev.to/alexgeorgiev17/how-to-synchronize-your-github-fork-49pg»