2013-10-24 2 views
0

Репозиторий одного довольно небольшого проекта занимает> 200 мегабайт. Вот как выглядит история:Слияние двух коммитов в удаленном репозитории

... 
1) regular commit 
2) regular commit 
3) commit which adds 100mb of useless files + does something useful 
4) regular commit 
5) commit which removes all of the useless files 
6) regular commit 
... 

Я хочу уменьшить размер репозитория. Также не должны быть потеряны полезные изменения фиксации 3. Есть ли способ объединить коммиты 3 и 5 в один в удаленном репозитории?

+2

'git help rebase', поиск' interactive rebase' и 'squash' – kan

ответ

2

Вы можете использовать интерактивную перебазироваться с помощью команды:

git rebase -i 

и написать план перебазирования похожее на это:

  • выбрать совершить 1
  • выбрать совершить 2
  • забрать совершить 3
  • squash commit 5
  • выбрать совершить 4
  • выбрать совершить 6
  • ....

После sucessfull перебазироваться вы можете принудительно нажать модифицированную ветвь:

git push -f 

Имейте в виду, что перезапись часть уже перенесенной истории может заставить других пользователей выполнить перестановку новой истории и разрешить возможные конфликты.

Смежные вопросы