Проверить Github PR, а затем вытащить обновления? - PullRequest
0 голосов
/ 24 августа 2018

Я написал небольшой bash-скрипт для проверки PR на лету:

co URL

co() {
    set $1
    git fetch upstream
    git checkout pr/${1##*/}
}

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

Например:

Пользователь A открывает PR в основной ветке разработки.Я использую этот скрипт для извлечения запроса извлечения, но UserA выдвигает обновление.Как я могу вытащить любые будущие обновления?

1 Ответ

0 голосов
/ 24 августа 2018

Одна простая модификация, предполагая, что все ваши PR должны быть включены upstream (как предполагает существующий код), может быть:

co() {
    git fetch upstream || return
    git checkout --track "pr/${1##*/}" || return
    git merge "upstream/pr/${1##*/}"
}

Это если вы хотите сохранить любые локальные изменения, которые могут у вас бытьсделано, хотя насильственное подталкивание других к пиар-ветке может немного испортить ситуацию.Если вы просто хотите сбросить ветку на удаленную, отбросив все локальные изменения:

co() {
    git fetch upstream || return
    git checkout --track "pr/${1##*/}" || return
    git reset --hard "upstream/pr/${1##*/}"
}

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

co() {
  git fetch upstream || return
  git checkout --track "pr/${1##*/}" || return
  git rebase "upstream/pr/${1##*/}"
}

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

...