LINUX.ORG.RU

Поможет ли мне rebase?

 ,


0

1

есть следующий use case

  • сделал бранч
  • сделал x коммитов
  • переименовал с десяток файлов в одной директорий
  • сделал y коммитов
  • потом решил что мало и переименовал еще несколько папок (втч и ту, где переименовывал файлы)
  • сделал еще z коммитов

общее число коммитов x+y+z= ~400

хотелось перед мерджем в мастер привести все в божеский вид. тоесть

  • засквошить все рэнэймы в один коммит и сделать его первым
  • засквошить все изменения в одно для каждого файла
  • изменения в lib должны следовать после 1го рэнэйма

вроде бы нет ничего сложного, но меня смущает сумеет ли гит разобрать рэнэймы корорые идут в перемешку с обычными коммитами?

если это не возможно без долгих танцев с бубном, тогда я «по старинке» :(

ps1: «git rebase -i» еще не приходилось делать

ps2: мож будут еще какие-то дельные советы?

★★★★★

Последнее исправление: ZuBB (всего исправлений: 2)

Ответ на: комментарий от mashina

работы и так много. а если «не взлетит» - то время на что то другое потратить

ZuBB ★★★★★
() автор топика

Отребейзит(если в аплинке нет конфликтных изменений). А вот все эти танцы с «поменять местами/агрегировать» не получится... Да и не надо... Как потом ревертить ?

Jetty ★★★★★
()

засквошить все рэнэймы в один коммит и сделать его первым
засквошить все изменения в одно для каждого файла
изменения в lib должны следовать после 1го рэнэйма

звучит очень сурово для 400 коммитов. Если делать rebase -i, то запаришься разгребать. Очень может быть, что для удовлетворения всех хотелок придется часть коммитов сначала пилить на куски, руками.

Еще можно посмотреть в сторону filter-branch. По крайней мере пункт 2) я бы делал именно с его помощью.

Мое предложение: максимально упростить историю с помощью rebase -i и замержить результат. И не копить больше историю в 400 локальных коммитов.

phoenix ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.