Как убрать коммит из пуша?

Картинки из интернета, но ситуация по сути такая же:
7-pHJQmbj8o.jpg
Суть в том, что первый коммит "Сделал хорошо" его сделал в мастер мой коллега, при этом команда git status показывает файлы изменённые в моей локальной копии только 4 остальными коммитами, т.е. изменения коллеги он не видит. Но если я сдлеаю push сейчас то будет конфликт между моей устаревшей версией master и новой версия файла в первом коммите от коллеги.
Варианты:
1) Сделать push, разрешить конфликт вручную
2) Скачать себе последнюю версию файла который был изменён коллегой с мастера, этот файл отразится у меня как изменённый, запушить всё вместе
3) Удалить как-то этот коммит и предложить после пуша pull request без него. После этого уже скачать себе обновлённый мастер
  • Вопрос задан
  • 2696 просмотров
Решения вопроса 1
lunaticman
@lunaticman
Дерзкий айтишник
Никогда не разрабатывайте в master бранче! Всегда делайте отдельную ветку git checkout -b new_branch_baby

Чтобы сейчас выйти из этой неловкой ситуации вам нужно:
- Скопировать все изменения в отдельный бранч ( git checkout -b my_changes )
- Почистить мастер от своих изменений ( git checkout master ; git rebase -i HEAD~6 )
- обновить мастер бранч ( git pull origin master )
- обновить свой бранч (git checkout my_changes ; git rebase master )

удачи
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы