Мой запрос был включен, что делать дальше?
недавно я участвовал в проекте от GitHub. Я сделал следующее:
Разветвил исходный репозиторий, клонировал его на мою локальную машину, сделал ветку для исправления существующей ошибки, исправил ошибку, находящуюся в этой ветке, подтолкнул эту ветку к моему РЕПО, отправил запрос pull автору репозитория для слияния my исправить ветки на ветку master.
Это был мой первый раз, когда я совершил на чужой код, поэтому я не знаю, что делать. Теперь мой запрос был слияние с оригинальным РЕПО/проектом автором.
что мне делать дальше? должен ли я удалить ветку? Должен ли я объединить ветку? Что-нибудь еще?
дополнительная информация:
исходный проект имеет одну ветвь.
у меня также есть восходящий набор для получения последних обновлений из исходного РЕПО. (я сделал это так):
git remote add upstream https://path/to/original/repo.git
и я получаю обновления такой:
git fetch upstream
2 ответов:
что делать дальше: продолжать вносить новые функции или исправлять другие ошибки в своих собственных выделенных ветвях (нажимается только на вашу вилку).
означает, что ваша вилка остается, но ветви в вашей вилке могут приходить и уходить.
вы также можете удалить вилку, если вы не планируете вносить свой вклад дальше, но это удалит соответствующую запись в "репозитории, в которые вы вносите свой вклад".
легче к:
- удалить
fixотделения (на самом деле, теперь он удален для вас) на вашей вилке (и в вашем локальном клонированном РЕПО: см."удалить ветку Git как локально, так и удаленно")git pull upstream master(Еслиmasterбыла ветка, в которую было интегрировано ваше исправление: слияние будет быстрым): на данный момент не требуется перебазирование.- воссоздать исправления ветка на верхней части вашего обновленного локального
master(теперь с последним изupstream master).
однако, никогда не забывайте один шаг перед отправкой любого будущее потяните запрос:
сначала перебазируйте текущую ветку (
fix) из ветви назначения вверх по течению(
upstreamбудучи оригинальным РЕПО, которое вы разветвили: см."в чем разница между origin и upstream в github")перед отправкой чего-либо обратно в оригинальный РЕПО ("вверх по течению"), вам нужно убедиться, что ваша работа основана на верхней части последний из указанного исходного РЕПО (или запрос pull-request не приведет к быстрому слиянию после применения обратно на
upstreamРЕПО).
Смотрите, например,"рабочий процесс для управления запросами на вытягивание в общих репозиториях в github".другими словами,
upstreamможет развиваться (есть новые коммиты толкнул на него), пока вы заняты фиксацией вещи. Вам нужно воспроизвести свои исправления поверх эта последняя работа из восходящего потока, чтобы убедиться, что ваши коммиты по-прежнему совместимы с последней изupstream.
The ОП Сантош Кумар просит в комментариях:
я вытащил и слил из
upstreamмастер, что теперь?если вы не сделали никаких новых исправлений с момента вашего недавнего запроса на вытягивание, см. выше (удалить и воссоздать новую ветку
fixповерх вашего обновленногоmaster).если вы сделали больше работы с момента вашего запроса на вытягивание, я бы не слился с
upstreamесли я хочу сделать новая тянуть запрос: я бы потянул и rebase:git pull --rebase upstream masterтаким образом, все мои новые локальные работы воспроизводятся поверх самых последних
upstreammasterфиксирует (извлекается в моем локальном РЕПО), предполагая, чтоmasterявляется целевой ветвью, которая будет интегрировать мой будущий запрос pull.тогда я могу нажать мой местная работа до'
origin', который является моей вилкой на GitHub изupstream.
И из моей вилки на GitHub я могу безопасно сделать запрос на вытягивание, зная, что он будет только добавлять новые коммиты вupstreamбез необходимости какого-либо разрешения слияния: слияние этих новых коммитов вupstreamРЕПО будет означать простое быстрое слияние.
A
git pull --rebaseбез указания ветви, поверх которой вы хотите перебазировать ваш (в настоящее время извлеченный)fixветка не будет работать:что (
git pull --rebase) говорит:You asked to pull from the remote '`upstream`', but did not specify a branch.должен ли я наконец добавить master? И что это будет делать?, будет ли он Удалить мой
fixветку?Да, вы можете указать ветвь, которая будет целью запроса на вытягивание, например'
master'.
Это не будет удалять вашfixветка, но будет воспроизводить его на вершине вверх по течениюmasterполучил в вашем РЕПО.
во-первых, поздравляем вас с вашим первым вкладом в проект на Github.
обычный рабочий процесс Github заключается в создании новой ветви для каждой проблемы, которую вы решаете. Таким образом, сопровождающий репозитория mainline может решить, какое из ваших решений объединить, а какое отклонить. После того, как ветвь была объединена вверх по течению, ветвь больше не понадобится и обычно может быть удалена.
Comments