Понимание запросов на вытягивание на GitHub: что происходит, когда запрашивающий репозиторий удаляется?

Следующий сценарий:

Я разветвил репозиторий с открытым исходным кодом (GitHub -> project -> Fork). Затем я клонировал свою копию проекта локально, внес некоторые изменения в основную ветку, зафиксировал их и отправил в свой репозиторий:

$ git clone [email protected]:myusername/originalprojectname.git
... changes ...
$ cd originalprojectname
$ git add path/to/changed/file.php
$ git commit -m "..."
$ push

После этого я запустил запрос на вытягивание на GitHub. Он был помечен как "Хорошо для слияния" и добавлен в Milestone: x.y.z.

Где находится измененный код? Только в моем репо или еще что-то? Фон: я хотел бы удалить свой репозиторий. Итак, наконец, мой вопрос: Если я удалю свой репозиторий на GitHub, будут ли по-прежнему доступны изменения для исходного проекта или мне следует дождаться выпуска x.y.z?


person automatix    schedule 18.04.2013    source источник


Ответы (1)


Да, код останется там после того, как вы удалите репозиторий. Как только вы отправляете запрос на вытягивание, Github внутренне добавляет эту ветку в целевое репо (он создает ветку в пространстве имен, отличном от используемого по умолчанию, поэтому вы обычно их не видите).

Поскольку PR обычно нельзя удалить, эти ветки будут существовать в целевом репо бесконечно.

Чтобы ответить на ваш другой вопрос: код будет находиться как в вашей вилке, так и в целевом репо (по крайней мере, изначально, если вы не удалите свою вилку).

person Nevik Rehnel    schedule 18.04.2013
comment
К вашему сведению, выступление Зака ​​Холмана (сотрудник GitHub) подтверждает, что GitHub хранит все пулл-реквесты в вашем репозитории […], даже если форк удален. - person Dennis; 05.09.2013
comment
когда я обновляю удаленный репозиторий из основной ветки, могу ли я продолжать обновлять предыдущую ветку PR? - person rilut; 13.01.2016