To nie jest folder, który istnieje, to gałąź . (Cóż, może gdzieś być zaangażowany folder / katalog - a może nie, ponieważ odniesienia są „pakowane” i przestają istnieć jako pliki w katalogach).
- Jeśli gałąź
bistnieje, nie b/anythingmożna utworzyć żadnej gałęzi o nazwie .
- Podobnie, jeśli
dev/bistnieje gałąź , dev/b/cnie można jej utworzyć.
To jest wewnętrzne ograniczenie gita. W tym konkretnym przypadku zdalny originma nazwaną gałąź dev/sub(niezależnie od tego, czy ją masz, czy nie, ważne jest, czy ma ją zdalny). Aby utworzyć origingałąź o nazwie dev/sub/master, musisz najpierw usunąć gałąź nazwaną dev/subna origin:
git push origin :dev/sub
(Oczywiście usunięcie tej gałęzi może usunąć coś ważnego w tym miejscu, więc upewnij się, że wiesz, co robisz. Ogólnie rzecz biorąc, możesz git fetch originnajpierw chcieć przechwycić ich dev/subjako swoje origin/dev/sub. Możesz wtedy utworzyć lokalną gałąź o nazwie dev/renamed-subwskazującej na to samo zatwierdzenie , utwórz dev/renamed-subna pilocie, usuń pilota dev/sub, a następnie utwórz dev/sub/masterna pilocie.)
Jeśli możesz zalogować się na zdalnym (systemie, który originjest hostowany), możesz przejść do repozytorium tam i po prostu zmienić nazwę lokalnego dev/suboddziału. (Opierając się na komentarzach poniżej, podejrzewam, że istnieje również uszkodzony skrypt do automatycznego wdrażania, który prawdopodobnie powinien zostać naprawiony, aby wdrażać tylko gałęzie „do wdrożenia”, a nie wszystko, co jest przekazywane. Ale zgaduję tutaj.)