Есть ли разница между этими двумя командами?
git subtree split --prefix=some_subdir -b some_branch
и
git filter-branch --subdirectory-filter some_subdir some_branch
Я хотел бы использовать git filter-branch
вместо git subtree
, потому что я также хочу удалить некоторые файлы в новой ветке, но я беспокоюсь, что эта гарантия, которая верна для git subtree
, может быть недействительной для git filter-branch
:
Повторяющиеся расщепления точно такой же истории гарантированы идентичны (т.е. для создания одинаковых идентификаторов фиксации). Из-за этого, если вы добавляете новые коммиты, а затем снова разделяете, новые коммиты будут прилагается как фиксация поверх истории, которую вы создали в прошлый раз, поэтому 'git merge', и друзья будут работать, как ожидалось.