У меня есть repo personal_stuff.git
, который я использовал для хранения целого ряда ранних проектов, возможно, не совсем.Git: удалить нерелевантные фиксации из истории после разделения поддерева
Время от времени один из них взлетает, и мне нужно разделить подпапку от personal_stuff/coolnewthing
на свой собственный coolnewthing.git
репо.
Для этого я использую
git subtree split -P personal_stuff/coolnewthing -b coolnewthing
, а затем вытащить новую ветвь из другого нового каталога мерзавца через:
git pull ../../../../personal_stuff coolnewthing
Это прекрасно работает, но у меня есть все эти коммиты в моей истории связаны с файлами, которые больше не существуют.
Как отфильтровать их и сохранить только фиксации, относящиеся к файлам, которые у меня есть?
вы можете использовать «мерзавец перебазироваться -i» –
не уверен, если я понимаю документы, но я не добавляя ветвь функции к основной, - я делаю наоборот. Это все еще применяется? – tetris11
переход на новую ветку сделать ** git rebase -i HEAD ~ <количество попыток вы хотите очистить> ** и использовать интерактивное меню переадресации. Решение, данное @joran, кажется хорошим использованием. –