С гитом работать начали буквально месяц назад, до этого несколько лет работали с svn.
Процесс разработки получился такой:
3 основные ветки: dev, test, master
Когда на разраба прилетает задача, он создает новый бранч с именем этой задачи. Потом когда он все сделал, он этот бранч пушит на origin, а "старший" разраб проверяет код. Если все ок, то этот бранч мерджится в ветку дев, где задачу проверяет аналитик. Потом если аналитик решил, что все ОК, этот бранч мерджится в ветку test, где уже все проверяет тестировщик. Если все ок, то в master просто мерджится test (по сути ветки должны быть идентиными)
Может быть этот процесс разработки и неправильный, но так решили делать.
Проблема в том, что один из разрабов в ветку dev вместо мерджа бранча с задачей, сделал rebase, и теперь при мердже в тест любого бранча в него летят все прошлые, а так не надо по тому что бизнесу не нужны те задачи, которые были сделаны на деве.
Что делать, как быть?
Можно узнать sha коммита/назв. ветки, на который сделали rebase dev ветки? (ну или другими словами - коммиты, которые не нужны в dev ветке)? То, что по ссылке - не получилось по какой-то причине?
git reflog - надо делать с компьютера того разработчика, который делал rebase.
при ребейзе изменяются хеши коммитов
у вас в разных ветках одни и те же коммиты с разными хешами
нужно сделать резет хард одной ветки к другой и перепушить с форсом