Как очистить запрос на вытягивание GitHub?

Я создал и отредактировал форк и отправил запрос на включение. Однако на нем много коммитов, и я хотел бы удалить некоторые из неактуальных. Как мне это сделать?

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

Спасибо.


person Frick Steves    schedule 25.08.2017    source источник
comment
Поиск сквоша, (интерактивный) ребазинг и принудительное нажатие. Просто удалите/отредактируйте коммиты в своей ветке и выполните принудительное нажатие.   -  person Julian    schedule 26.08.2017


Ответы (2)


Интерактивная перебазировка обычно работает и почти всегда является лучшим решением (подробности здесь). Однако у меня были проблемы с этим, и я должен был пойти по другому пути.

1) Повторное клонирование вашей вилки в другое место, например:

git clone /your-username/your-repo

2) Перезапустите свой форк из восходящего потока (подробности здесь):

git remote add upstream /url/to/original/repo
git fetch upstream
git checkout master
git reset --hard upstream/master  
git push origin master --force` 

3) Замените соответствующие файлы в репо и зафиксируйте изменения. После повторного внесения необходимых изменений:

git commit -m "<commit message>"
git push origin <relevant-branch>

Надеюсь, это поможет кому-то некоторое время.

person Frick Steves    schedule 29.08.2017

Для этого вы можете перейти к предыдущей фиксации, используя

git checkout {commit_id} для идентификатора фиксации вы можете использовать git log

После этого вы можете сделать новую фиксацию с желаемыми изменениями.

Для дальнейшего прочтите git-checkout Журнал Git

person Muhammad Zubair Saleem    schedule 25.08.2017