Вот команды, которые работали для меня.
Я предполагаю, что кто-то уже клонировал репо (например, pytorch ) в свою систему локально. После этого некоторые добровольцы / энтузиасты внесли некоторый код и выпустили PR в удаленный репозиторий, но он еще не был объединен в ведущую или любую другую ветку. Итак,
Сначала мы должны сделать git remote add
для удаленного репозитория github:
# I've given the name `original`; you can give some other name as per your liking
$ git remote add original https://github.com/pytorch/pytorch
Затем cd
в хранилище pytorch
, а затем просто выполните:
# after this, the unmerged PR should be pulled to your local repo
$ git fetch original pull/<pull_number>/head # 23, 123 etc.,
Теперь ожидающий PR был извлечен в ваш локальный репо, и конец вашей выборки будет в FETCH_HEAD. Если вы хотите объединить этот ожидающий PR локально , просто выполните:
$ git merge FETCH_HEAD
После этого, если вы сделаете:
$ git status
Вы должны быть в состоянии увидеть, что локальное репо опережает n
коммитов, которые были частью ожидающего PR (то есть возможно выпустить более 1 коммита в одном PR). Таким образом, количество коммитов зависит от коммитов, содержащихся в ожидающем PR.