обновить github мой старый запрос на извлечение

Я работал над этой функцией в одном из проектов с открытым исходным кодом, однако из-за другой работы я остановился на довольно долгое время.

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

Я новичок в Git, поэтому все выглядит очень запутанно.

Ниже приведены подробности.

Удаленная ветвь: https://github.com/robotframework/Selenium2Library/

Моя разветвленная ветка: https://github.com/Gaurang033/Selenium2Library

Запрос на вытягивание: https://github.com/robotframework/Selenium2Library/pulls/Gaurang033

вот так выглядит моя ветка

ветка git -vv

*feature-table-functions fecb9a6 [origin/feature-table-functions: forward 1] включает комментарии

Теперь, как мне обновить ветку, разрешить конфликт и внести новые изменения?

git pull --rebase
Текущая ветвь feature-table-functions обновлена. git status
В ветке feature-table-functions Ваша ветка опережает «origin/feature-table-functions» на 1 фиксацию. (используйте git push для публикации ваших локальных коммитов)

А вот так это выглядит в моем разветвленном проекте GitHub


person Gaurang    schedule 24.07.2017    source источник
comment
Возможный дубликат Как сделать запрос на вытягивание GitHub   -  person dannemp    schedule 24.07.2017
comment
@dannemp это не так, вопрос общий, мой здесь очень конкретный, у меня уже есть запрос на включение в обзор.   -  person Gaurang    schedule 24.07.2017


Ответы (1)


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

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

  • вы делаете git pull (и объединяете)
  • ты делаешь git pull --rebase

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

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

git fetch origin
git checkout feature-table-functions
git merge origin/master
# or git rebase origin/master

После этого вы можете отправить свою ветку feature-table-functions на удаленный сервер. Обратите внимание, что если вы использовали опцию rebase, вам, возможно, придется принудительно нажать ветку.

person Tim Biegeleisen    schedule 24.07.2017
comment
две вещи. 1. на моей странице github написано, что моему мастеру 7 месяцев. 2. Я думаю, что после git merge origin/master он попросит меня разрешить конфликт. Правильно? - person Gaurang; 24.07.2017
comment
Будет ли ваша ветка в конечном итоге объединена с master? Вы упустили важный момент в моем ответе: git fetch origin. Вы не сливаетесь со своей 7-месячной master, вы сливаетесь с последней версией. - person Tim Biegeleisen; 24.07.2017
comment
git fetch origin собирается передать мне данные из моего разветвленного проекта на мою локальную машину, верно? и моя ветка уже на 34 коммита позади и на 4 коммита впереди. это впереди главного или разветвленного проекта или удаленного? После слияния изменения мастера будут объединены с моей функциональной веткой, верно? но ему 7 мес. не должен ли я беспокоиться об этом. - person Gaurang; 24.07.2017
comment
Я дал вам достаточно информации, чтобы решить вашу проблему. Если вы не уверены в том, как работает Git, вам следует остановиться и просмотреть руководство. Это не способ изучения Git. - person Tim Biegeleisen; 24.07.2017