в Git поддерево добавить: изменить префикс сохраняя локальные коммиты
Есть ли простой способ переместить поддерево, добавленное с помощью следующего cmd
git subtree add --prefix=<prefix> <repository> <commit>
Другими словами, можно ли изменить префикс с dir1
на dir2
.
Ответ на поддерево git: можно ли изменить ветвь/путь поддерева в раздвоенном репозитории? предлагает удалить поддерево, а затем добавить его обратно.
Это не работает для меня, потому что мне нужно сохранить локальные коммиты, есть ли другой способ?
1 ответ:
Одним из вариантов является разделение от текущего коммита, которое включает локальные коммиты, которые вы хотите сохранить:
git subtree split --prefix=dir1 HEAD # Create a branch with the printed commit just to use it later git branch split_dir_1 <split_commit>
А затем сделайте то, что было описано в вопросе , который вы упомянули, удалите подкаталог и повторно добавьте поддерево.
git rm dir1 git commit git subtree add --prefix=dir2 . split_commit
Имейте в виду, что при этом вы все равно сможете увидеть в истории репозитория, когда было создано, удалено и добавлено первое поддерево.