Обновите репозиторий github, который разворачивается из другого проекта

Я разблокировал родителя: проект для ребенка: this. Теперь я хочу обновить мой ребенок родителями текущих обновлений. Могу ли я это сделать, если да, то как?

Когда я обновляю репозиторий github, я могу сделать "git pull", чтобы обновить локальное репо.

Ответ 1

В вашем локальном клоне Ребенка вытащите из родителя, добавив его как удаленный, если хотите:

cd child
git remote add parent <parent-url>
git pull parent

URL-адрес родителя может быть публичным реестром github или вашим локальным клоном - локальный клон, конечно, будет быстрее. Если вы хотите вывести ветку, отличную от текущего HEAD родительского репо, просто добавьте аргумент (например, git pull parent topic-branch). Если это одноразовая вещь, вы можете просто пропустить добавление пульта: git pull <parent-url> [branch].

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

Ключевым моментом здесь, если это неясно, является то, что вытаскивание из родительского (восходящего) репозитория не отличается от вытаскивания из вашего общедоступного клона дочернего, вашего текущего репозитория. В любом случае, вы извлекаете из репозитория некоторую общую историю и объединяете это в свою текущую ветку. И, конечно, с тех пор, как вы сливаетесь, требуется дерево работы - так что это должно быть сделано в вашем локальном репо. Репо, размещенное на github, по сути является способом публикации того, что вы сделали на местном уровне. Все, что вы действительно можете сделать, это нажать/вытащить и посмотреть, что там.

Ответ 2

  • Клонирование вашего репо на ваш локальный компьютер, если вы еще этого не сделали: git clone [email protected]:utkarsh2012/voldemort.git
  • Добавить восходящий поток в качестве нового пульта: git remote add upstream git://github.com/voldemort/voldemort.git
  • Когда ваша ветка проверена, потяните вверх по течению в свою ветку, что создаст слияние между двумя наборами изменений: git pull upstream или git pull upstream branch-to-merge. Если вы работаете с нераскрытой веткой, вы также можете использовать git fetch и git rebase для восстановления вашей работы без необходимости слияния.

Ответ 3

Вы хотите:

git pull git://github.com/voldemort/voldemort.git

Ответ 4

Это также можно сделать просто на веб-интерфейсе GitHub: выполните запрос Pull Request, но замените базовое репо и head repo. Если тянуть можно выполнить автоматически, это будет.