Как мне изменить проект GitHub, из которого я подписал? - PullRequest
71 голосов
/ 22 апреля 2011

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

То есть:

Original -> MyFork

Сейчас:

NewOriginal -> Original -> MyFork

Как быЯ понял следующее?

NewOriginal -> MyFork

Ответы [ 4 ]

61 голосов
/ 28 июня 2013

ПРИМЕЧАНИЕ : следующее решение неполно, поскольку вы потеряете весь вики-контент и проблемы, характерные для вашего форка.

Это можно сделать, выполнив следующие действия:

  1. Снесите все ветки и теги с вашего существующего форка.
  2. Удалите ваш репозиторий на GitHub.
  3. Fork из нового репозитория.
  4. Обновите удаленный URL , если необходимо.
  5. Переместите все ваши локальные ветви и теги в новый репозиторий.
55 голосов
/ 22 апреля 2011

Локально вы можете просто изменить цель исходного хранилища, расположенного по адресу. Обычно этот репозиторий называется upstream , поэтому вы должны сделать это:

git remote set-url upstream git://example.com/NewOriginal.git

В зависимости от того, какой хост вы используете (то есть, где находится ваш форк), могут быть некоторые дополнительные внутренние ссылки, которые вы не можете так легко изменить. Например, на Github вилка напрямую связана с оригиналом, с которого вы разветвлены. В этом случае вам нужно снова разветвлять новый проект и работать с новым разветвлением.

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

9 голосов
/ 22 апреля 2011

Обновление удаленного URL в вашем хранилище:

git remote set-url origin <url to NewOriginal, e.g. git://…/bla.git>
2 голосов
/ 30 января 2016

Предполагая, что вы выполнили правильное разветвление и добавление вверх по течению, смотрите githubHelpOnFork ; чтобы просто изменить исходящий URL, выполните:

  1. проверьте, как выглядит ваш текущий апстрим и источник:

    git remote -v
    
  2. если вы видите вышестоящий список в списке и хотите просто изменить его URL, сделайте то, что предложил @poke (если не перейдите по ссылке helpGithub выше для добавления нового вышестоящего):

    git remote set-url upstream git://example.com/NewOriginal.git
    
  3. , затем убедитесь, что восходящий поток указывает на новый URL

    git remote -v

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...