Как вытащить изменения из запроса извлечения, который уже оформлен? - PullRequest
0 голосов
/ 16 мая 2019

Я проверил PR, используя:

git fetch origin pull/pull_req_ID/head:NEWBRANCHNAME

Однако я не могу получить изменения в моем местном филиале из этого PR.

Ответы [ 3 ]

2 голосов
/ 16 мая 2019

Запросы на извлечение - это функции онлайн-репозиториев (например, Github), которые в основном означают «этот человек хочет объединить эти изменения с этой ветви на этой ветви» , Это НЕ фактическая ветвь, скорее, она представляет изменения от чьей-то ветки, позволяет обсудить / просмотреть эти изменения, прежде чем объединить их с какой-то базовой веткой ,

С точки зрения Git, это в основном запрос на git merge.

Итак, вам нужно проверить информацию запроса на извлечение, найти SOURCE (ветвь, которая будет объединена) и DEST (ветвь, в которую нужно объединиться). Вот пример с Github:

pr

где ветвь SOURCE fix-bug-1234, а ветвь DEST master.

Тогда сделайте:

git fetch origin <SOURCE> 
git fetch origin <DEST>
git checkout <DEST>         # You will now be in DEST branch
git pull                    # Update copy of base branch
git merge origin/<SOURCE>   # Merge changes from SOURCE to DEST
git push origin <DEST>      # Push the update DEST branch 

Для меня лучше создать локальную копию ветви SOURCE.

git fetch origin            # Fetch all branches, both SOURCE and DEST
git checkout <SOURCE>       # Create a local copy of the SOURCE branch
git pull                    # You now have the changes to merge
git checkout <DEST>         # You will now be in DEST branch
git pull                    # Update copy of base branch
git merge <SOURCE>          # Merge changes from SOURCE to DEST
git push origin <DEST>      # Push the update DEST branch 

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

0 голосов
/ 16 мая 2019

Начните с:

git pull

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

git checkout old_branch

После этого выполните слияние с ответвлением, которое вы запросили.

git merge changed_branch

0 голосов
/ 16 мая 2019

, если вы находитесь в местном филиале:

git pull
git merge NEWBRANCHNAME
...