Есть ли эффективная противоположность git cherry-pick? Например, некоторое время назад мне пришлось внести некоторые временные изменения, чтобы отключить набор функций из-за невозможности готовить бизнес-процесс. Теперь, когда этот бизнес-процесс готов, я хотел бы просто удалить коммиты и их эффекты. Хотя я мог бы, конечно, просто взглянуть на разницу этих коммитов и выяснить, что все нужно сделать, было бы интересно узнать, могут ли те, кто совершает возврат в истории, можно было бы сделать без перезагрузки и потерять все, что было после их.
Напротив git cherry-pick?
Ответ 1
Автоматический способ отмены изменений, сделанных другим фиксацией, - git revert
.
Ответ 2
git revert
не является противоположностью git cherry-pick
. git rebase -i
есть.
git revert
добавляет новую фиксацию, которая удаляет изменения, сделанные одним или несколькими старыми фиксациями. Он не удаляет исходные коммиты.
git rebase -i
покажет вам список коммитов из вашей текущей фиксации, возвращаясь к последнему фиксации не в вашей ветке вверх по течению. Затем вы можете редактировать, переупорядочивать, изменять сообщение коммита и даже удалять фиксации из этого списка.
Имейте в виду, что если вы уже нажали на коммиты, которые хотите удалить, вам нужно будет ОК удалить их со своими товарищами по команде, потому что они должны будут внести коррективы, как только вы нажмете новую историю с удаленными коммитами.