Я разработал проект, создал новую ветку от мастера, внесли изменения и создал запрос на извлечение оригинального проекта. Но вдруг я забыл, что создал этот запрос на растяжение и полностью удалил свою вилку из удаленного (GitHub) и с моего компьютера. Как я могу воссоздать ветку (или вилку) из запроса на растяжение, чтобы добавить изменения и позволить слиянию?Как воссоздать ветку из запроса на растяжение?
ответ
Есть две вещи, которые вы можете сделать: поддержка
1. Контакт GitHub
При попытке мое решение для вас я удалил вилку, где у меня был PR, который все еще ожидал и имел такую же ситуацию, как и вы.
В настоящее время нет возможности подключиться к этому PR, кроме того, чтобы связаться с поддержкой GitHub. Они могут восстановить удаленную вилку, которая также будет привязана к ожидаемому PR. Затем вы можете просто клонировать свою вилку, менять свою ветвь PR и нажимать.
Это было несколько минут в моем случае, пока сотрудники GitHub не ответили на контактную форму. аплодировали GitHub
2. Создайте новый PR
Если вы не хотите беспокоить поддержку GitHub или они слишком медленно для вас или не хотят, вы можете сделать следующее:
- воссоздавать вилку
- воссоздавать свою ветку из запроса тяговой делая
git fetch <your configured remote for upstream> refs/pull/<your PR number>/head:<your branchname>
Это будет воссоздать ветвь PR для вас локально, а затем изменить все, что вы хотите изменить, закрыть оригинальный PR и открыть новый.
git fetch дает мне «фатальный:« вверх по течению »не является репозиторием git fatal: Не удалось прочитать из удаленного репозитория. Пожалуйста, убедитесь, что у вас есть правильные права доступа и существует репозиторий. ' – aleskva
, конечно, вы должны указать, как удаленный назван в вашем локальном репозитории. Для меня я следую широко распространенному соглашению о том, что моя вилка называется «origin», а master repo называется «upstream». – Vampire
Мне, наконец, удалось сделать это, используя 2-й способ (извлечение кода с помощью вашего ответа и создание нового PR), спасибо – aleskva
Один из способов исправить это:
$ mkdir repo
$ git init; git remote add origin [email protected]:original/repo.git # not your fork
Теперь откройте .git/config
и добавьте следующую строку:
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
так гласит:
[remote "origin"]
url = [email protected]:original/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
Затем запустите
$ git fetch origin
$ git checkout origin/pr/<your pr number, as shown in their github repo>
Затем просто добавить новый пульт к вилке, и подтолкнуть вверх ветви
'git fetch origin' производит это: 'Permission denied (publickey). fatal: Не удалось прочитать из удаленного хранилища. Пожалуйста, убедитесь, что у вас есть правильные права доступа и существует хранилище. ' – aleskva
А, хорошо, со знанием области refs/pull/names, мое решение выше становится намного проще.:-) Но разве у этого не было бы такой же проблемы, как мое решение, что PR больше не привязан к вашему репо, как только вы удалите вилку? Или вы можете как-нибудь снова подключиться? – Vampire
Это может быть, но я надеюсь, что смогу получить хотя бы код из этого PR (это было одно коммит, поэтому это может быть проще), и затем создайте новый PR и новую ветку. – aleskva
- 1. Как исключить файлы из запроса на растяжение?
- 2. Удалить измененный файл из запроса на растяжение
- 3. Удалите коммиты из существующего запроса на растяжение
- 4. Клон-код запроса на растяжение
- 5. Удаление нежелательных файлов из запроса на растяжение?
- 6. Объединить часть запроса на растяжение
- 7. Как переключиться на ветвь запроса на растяжение с помощью Git
- 8. Как воссоздать ветку удаленного отслеживания git svn?
- 9. Что происходит с открытием запроса на растяжение на объединенной ветке
- 10. Как выбрать отдельные строки из запроса на растяжение
- 11. Как клонировать/загружать код из запроса на растяжение
- 12. Запретить TFS добавлять новые коммиты для открытия запроса на растяжение?
- 13. Вытяните репо, создайте ветку, а затем сделайте запрос на растяжение
- 14. Commit & Sync напрямую без запроса на растяжение?
- 15. Как воссоздать заголовок запроса html?
- 16. Слияние запроса на растяжение с моей вилкой
- 17. работа Дженкинса для каждого запроса на растяжение
- 18. Продолжайте работать в ветке Git после запроса на растяжение
- 19. Клон GitHub от запроса на растяжение?
- 20. Слияние запроса на растяжение по нескольким ответвлениям
- 21. Как нажимать только новые коммиты на начало координат при создании запроса на растяжение?
- 22. Как остановить запрос на растяжение с закрытыми коммитами
- 23. API Github: как найти ветви запроса на растяжение?
- 24. Как и когда создается запрос на растяжение?
- 25. Github: фиксация из несвязанной ветви, появляющейся в запросе на растяжение
- 26. Git: Как получить запрос на растяжение для тестирования
- 27. GitHub: Pull Requests: мне нужно отладить после запроса на растяжение?
- 28. Почему git продолжает воссоздать ветку с принудительным обновлением?
- 29. git branch cleanup with squash для запроса на растяжение
- 30. TortoiseSVN Удалить ветку в репо, а затем воссоздать ее
До сих пор открыт PR? Если вы удаляете ветку в своей вилке, PR автоматически закрывается. Не уверен, что произойдет, если вы удалите вилку. – Vampire
По-прежнему открыт, только с примечанием: «от ** я/ветвь удалена ** до ** проекта/мастера **« – aleskva
* точно »в ** проект: мастер ** из ** неизвестный репозиторий **« – aleskva