Подтвердить что ты не робот

Git Удалите ненужные коммиты из запроса Pull

Я начал работать над проектом, и я сделал некоторые нежелательные коммиты, которые я нажал на оригинал. Теперь, когда я пытаюсь выполнить запрос на перенос, Github хочет выполнить все предыдущие коммиты.

Мой вопрос: как удалить ненужные коммиты и зафиксировать изменения, которые я хочу совершить, чтобы я был в курсе мастера?

4b9b3361

Ответ 1

Я предполагаю, что ваше происхождение - это ваша собственная вилка какого-либо проекта, который вы хотите сделать также для запроса на растяжение?

Поскольку вы будете менять историю (путем сброса головы), вам нужно нажать с флагом -force. Найдите хеш вашего последнего хорошего фиксации с помощью git log.

Теперь запустите

git reset SHA

Это изменит вашу голову на этот шаг и сохранит изменения в файлах с момента последнего хорошего фиксации, ваш индекс также будет reset.

Теперь вы можете изменить свой код и выполнить сделанные вами коммиты. Но вы должны сделать git push --force, так как вы изменили историю репозитория. Это означает, что любой, кто разветкил ваш репозиторий, больше не сможет отвлекать вас от изменений. Но вы сможете сделать запрос на вытягивание вверх по течению.

Ответ 2

Если вы используете git gui, Goto git gui и визуализируйте свою историю веток. (прежде чем делать следующий шаг, сделайте резервную копию локальных изменений, которые вы хотите нажать) Щелкните правой кнопкой мыши до точки, где ветка хочет reset выполнить мастер и щелкнуть reset. После сброса в командной строке введите git push -f Теперь внесите необходимые изменения в ветку, завершите n push еще раз. Если теперь вы создадите запрос на перенос, у него будет только новый фиксатор после ветки reset.