Как очистить GitHub?

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

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

Благодарю.

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>

Надеюсь, это поможет кому-нибудь.

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

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

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

Для дальнейшего чтения git-checkout Git log

Другие вопросы по тегам