2016-03-23 3 views
31

Я сделал запрос на перенос, но после этого я сделал некоторые коммиты проекта, которые закончили загрязнение моего запроса на тяну, я попытался удалить его, но не повезло.Как удалить коммиты из запроса на pull

Я нашел некоторые подобные вопросы в StackOverflow, но я не могу применить то, что там. Это мой первый запрос на подачу на GitHub, поэтому мне как-то странно, как все это работает.

выделенная фиксация - это то, что мне нужно сохранить и удалить все остальное. становится четвертой фиксацией в истории, потому что я делаю некоторые вещи слияния.

enter image description here

мой журнал мерзавец enter image description here

может кто-то пожалуйста, объясните, что происходит и как исправить эту проблему.

+1

Вам необходимо [переустановить] (https://git-scm.com/book/en/v2/Git-Branching-Rebasing) и только «выбрать» команду «добавлено из github» (т.е. строки для каждой другой фиксации) –

+0

переустановите какую ветку на какую ветку вы можете добавить, добавив больше объяснений. – humazed

+0

'какая ветка = ветка, над которой вы работаете,' на какую ветку' = ветку, на которую вы тянете запрос, в –

ответ

31

У вас есть несколько способов сделать это.

This post - read the part about the revert подробно объяснит, что мы хотим сделать и как это сделать.

Вот самое простое решение вашей проблемы:

# Checkout the desired branch 
git checkout <branch> 

# Undo the desired commit 
git revert <commit> 

# Update the remote with the undo of the code 
git push origin <branch> 

Команда Revert создаст новый совершить с отменить оригинала фиксации.

+2

Awsome man !! Действительно помог мне :) –

+0

Это работает, даже когда мы разветвляем проект у кого-то другого и хотим удалить некоторые комментарии в запросе на тяну? –

1

Так сделайте следующее,

Допустит, ваше имя ветви my_branch и это имеет дополнительные фиксации.

  1. мерзавец Кассового -b my_branch_with_extra_commits (Сохраняя эту ветку сохраненной под другим именем)
  2. gitk (Открывает GIT консоль)
  3. Посмотрите на коммит вы хотите сохранить. Скопируйте SHA этой фиксации в блокнот.
  4. мерзавец фотографии my_branch
  5. gitk (Это будет открыть консоль GIT)
  6. правой кнопкой мыши на коммит вы хотите вернуться к (государства перед вашими изменениями) и нажмите на кнопку «сброс ветвь здесь»
  7. Do мерзавец тянуть --rebase происхождения branch_name_to _merge_to
  8. Гит вишневого выбрать

Теперь посмотрим на местное отделение совершить историю и убедиться, что все выглядит хорошо.

Смежные вопросы