Как отменить пул реквест гитхаб
Как отменить пулреквест на гитхабе?
Как можно отменить пул-реквест на github?
7 ответов
В основном вам нужно проделать следующие шаги:
Пример (кнопка в самом низу):
Таким образом, запрос на перенос закрывается (и игнорируется) без его объединения.
Но поскольку система запросов на вытягивание GitHub также включает раздел обсуждения, в котором вы могли бы высказать свое беспокойство получателю этих изменений, попросив его / ее игнорировать 29 из 30 ваших коммитов.
При этом с января 2011 г. («обновленные обсуждения запросов на слияние» ) и упомянутый в ответе выше, вы можете закрыть запрос на перенос в комментариях.
Найдите кнопку «Прокомментировать и закрыть» внизу страницы обсуждения:
Если вы отправили пул-реквест в репозиторий, где у вас нет прав на его закрытие, вы можете удалить ветку, из которой был получен пул-реквест. Это отменит запрос на перенос.
Перейдите на вкладку разговора, затем спуститесь, там есть одна кнопка » закрыть запрос на перенос «, используйте эту кнопку, чтобы закрыть запрос на перенос, взять ссылку на прикрепленное изображение
Если вы открыли PR на gitHub, но он еще не объединен и вы хотите избавиться от него, а не просто закрыть, выполните эту простую команду:
У меня такая же проблема. Что я сделал
Отменить git pull, как привести РЕПО в старое состояние
EDIT я хочу отменить слияние git для уточнения. Увидев некоторые ответы, я сделал это
8 ответов
git pull будет делать две вещи: он делает git fetch и git merge где он объединяет ветви, которые были настроены для объединения в вашей конфигурации.
Итак, что вы хотите сделать, это отменить слияние (отмена выборки не имеет большого смысла и не должна быть необходимой).
то же, что и ответ jkp, но вот полная команда:
где a0d3fe6 найден, выполнив
и, глядя на точку, в которой вы хотите отменить.
более современный способ отменить слияние:
и немного более старый способ:
старомодный способ, описанный в предыдущих ответах (предупреждение: отбросит все ваши локальные изменения):
он работает первое использование: git reflog
найдите свой SHA вашего состояния previus и сделайте (например, HEAD@<1>)
бонус:
говоря о тяге, я хотел бы поделиться интересным трюком,
эта команда выше-самая полезная команда в моей жизни git, которая сэкономила много времени.
перед нажатием новой фиксации на сервер, попробуйте эту команду, и она автоматически синхронизирует последние изменения сервера (с fetch + merge) и разместит вашу фиксацию вверху в журнале git. Не нужно беспокоиться о ручном вытягивании / слиянии.
поскольку» pull «или» merge » устанавливают ORIG_HEAD как текущее состояние перед выполнением этих действий.
Отменить git pull, как вернуть репозитории в старое состояние
Есть ли способ вернуть или отменить git pull, чтобы мой источник / репозиторий вернулся в старое состояние, которое было до выполнения git pull? Я хочу сделать это, потому что он объединил некоторые файлы, которые я не хотел этого делать, а только другие оставшиеся файлы. Итак, я хочу вернуть эти файлы, возможно ли это?
РЕДАКТИРОВАТЬ: я хочу отменить слияние git для разъяснения. Увидев несколько ответов, я сделал это
12 ответов
Запуск git pull выполняет следующие задачи по порядку:
Предупреждение
Команды, перечисленные в этом разделе, удаляют все незафиксированные изменения, что может привести к потере работы:
В качестве альтернативы можно выполнить сброс на определенный момент времени, например:
То же, что и ответ jkp, но вот полная команда:
Где a0d3fe6 находится путем выполнения
И глядя на точку, в которой вы хотите отменить.
Более современный способ отменить слияние:
И немного более старый способ:
Старый способ, описанный в предыдущих ответах (предупреждение: все ваши локальные изменения будут отменены):
Оно работает первое использование: git reflog
Найдите свой SHA предыдущего состояния и создайте (пример HEAD @ <1>)
Бонус :
Говоря о вытягивании, я хотел бы поделиться интересным трюком,
Прежде чем отправлять новую фиксацию на сервер, попробуйте эту команду, и она автоматически синхронизирует последние изменения сервера (с помощью fetch + merge) и поместит вашу фиксацию наверху в журнале git. Не нужно беспокоиться о ручном извлечении / слиянии.
Это самый простой способ отменить изменения.
Так как «pull» или «merge» устанавливают ORIG_HEAD как текущее состояние перед выполнением этих действий.
git pull выполните операцию ниже.
Чтобы отменить вытягивание, выполните любую операцию:
Улучшение:
Отменить слияние по запросу pull?
кто-то принял запрос, который они не должны были. Теперь у нас есть куча сломанного кода, объединенного. Как отменить запрос? Я просто собирался вернуть изменения в коммит непосредственно перед слиянием, но я заметил, что он слился в кучу коммитов. Итак, теперь есть все эти коммиты от этого человека за несколько дней до слияния. Как вы это отмените?
6 ответов:
есть лучший ответ к этой проблеме, хотя я мог бы просто разбить это шаг за шагом.
вам нужно будет получить и проверить последние изменения вверх по течению, например:
взглянув на журнала фиксации, вы должны найти что-то похожее на это:
Теперь вы хотите, чтобы отменить весь запрос pull с возможностью unrevert позже. Для этого вам нужно будет взять идентификатор merge commit.
на merge commit это верхний, где он говорит » Объединенный запрос на вытягивание #123. «.
сделать это, чтобы отменить изменения («добавить бар» и «добавить foo») и вы в конечном итоге в одном коммите возвращаете весь запрос на вытягивание, который вы можете отменить позже и сохранить историю изменений в чистоте:
посмотрите на свой график фиксации (с помощью gitk или аналогичной программы). Вы увидите коммиты из запроса pull, и вы увидите свои собственные коммиты и коммит слияния (если это не было быстрое слияние). Вам просто нужно найти последний из ваших собственных коммитов перед слиянием и сбросить ветку до этого коммита.
(если у вас есть reflog филиала, она должна быть еще легче найти совершал перед слиянием.)
(правка после получения дополнительной информации в комментарии:)
Я предполагаю, что последний (самый правый) фиксации свой неправильно слияние по запросу pull, который объединил синюю линию, увиденную здесь. Твой последний хороший commit будет тем, что раньше на черной линии, здесь отмечено красным цветом:
сброс к этой фиксации, и вы должны быть в порядке.
это значит, в вашей локальной рабочей скопируйте это (убедившись, что у вас больше нет незафиксированных вещей, например, git stash):
теперь подтвердите, что вы действительно находитесь на фиксации, которую я отметил там, и вы не увидите ни одного из вытащенных вещей в своей родословной.
теперь все должно выглядеть прямо на github, тоже. Коммиты по-прежнему будут находиться в вашем репозитории, но недоступны для любой ветви, поэтому не должны сделайте там что-нибудь плохое. (И они все еще будут в хранилище Роджерпаладина, конечно.)
(там может быть GitHub специфический веб-единственный способ сделать то же самое, но я не слишком хорошо знаком с Github и его системой управления запросами pull.)
Примечание что если кто-то еще уже мог вытащить вашего мастера с неправильным фиксацией, у них тогда есть та же проблема, что и у вас в настоящее время, и не может действительно внести свой вклад. перед сбросом на новый мастер версия.
на будущее:
Undo a merge by pull request?
Someone accepted a pull request which they shouldn’t have. Now we have a bunch of broken code merged in. How do you undo a pull request? I was just going to revert the changes to the commit just before the merge, but I noticed that it merged in a bunch of commits. So now there are all these commits from this person from days before the merge. How do you undo this?
8 Answers 8
There is a better answer to this problem, though I could just break this down step-by-step.
You will need to fetch and checkout the latest upstream changes like so, e.g.:
Taking a look at the commit log, you should find something similar to this:
Now you want to revert the entire pull request with the ability to unrevert later. To do so, you will need to take the ID of the merge commit.
In the above example the merge commit is the top one where it says «Merged pull request #123. «.
Do this to revert the both changes («Add bar» and «Add foo») and you will end up with in one commit reverting the entire pull request which you can unrevert later on and keep the history of changes clean:
Look at your commit graph (with gitk or a similar program). You will see commits from the pull request, and you will see your own commits, and a merge commit (if it was not a fast-forward merge). You just have to find the last of your own commits before the merge, and reset the branch to this commit.
(If you have the branch’s reflog, it should be even easier to find the commit before the merge.)
(Edit after more information in comments:)
I assume the last (rightmost) commit was your wrong merge by pull request, which merged the blue line seen here. Your last good commit would be the one before on the black line, here marked in red:
Reset to this commit, and you should be fine.
This means, in your local working copy do this (after making sure you have no more uncommitted stuff, for example by git stash):
Now confirm that you are really on the commit I marked there, and you will see none of the pulled stuff in its ancestry.
Now everything should look right on github, too. The commits will still be in your repository, but not reachable by any branch, thus should not do any harm there. (And they will be still on RogerPaladin’s repository, of course.)
(There might be a Github specific web-only way of doing the same thing, but I’m not too familiar with Github and its pull request managing system.)
Note that if anyone else already might have pulled your master with the wrong commit, they then have the same problem as you currently have, and can’t really contribute back. before resetting to your new master version.
For the future:







