Подтвердить что ты не робот

Git поддерево: можно изменить ветвь/путь поддерева в разветвленном репозитории?

В репозитории A папка sub включена как git поддерево репозитория S - указывает на ветвь master.

У меня есть forked репозиторий A в F. Теперь я хочу сделать одно из следующего в F:

  • изменить sub, чтобы использовать другую ветвь S (т.е. ветвь develop)
  • или: изменить sub, чтобы использовать другой репозиторий вообще

Является ли это одним из возможных, и если да, то каким образом? Будут ли какие-либо побочные эффекты, о которых я должен знать?

И как я могу убедиться, что изменение моего поддерева не будет обновляться в репозитории A, когда я объединю свои изменения (pull request)? Я имею в виду, кроме выделения коммитов.

4b9b3361

Ответ 1

Если вы использовали git subtree (а не git submodule) для создания поддерева, тогда это просто нормальный каталог. Чтобы переключить его на другую ветвь, просто удалите ее и заново создайте поддерево из новой ветки. Это:

git rm <subtree>
git commit
git subtree add --prefix=<subtree> <repository_url> <branch>

Это должно работать без проблем.