To jest moje repozytorium Git:
https://github.com/benqzq/ulcwe
Ma katalog o nazwie local
i chcę zmienić jego nazwę na inną nazwę (powiedzmy z local
na xyz
).
Ręczna zmiana w GUI GitHub jest koszmarem, ponieważ muszę zmienić nazwę katalogu dla każdego pliku osobno (GitHub musi jeszcze włączyć funkcję „Zmiana nazwy katalogu”, wierzcie lub nie).
Po zainstalowaniu Gita spróbowałem tego polecenia:
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
Chociaż nie otrzymałem monitu o hasło do GitHub, otrzymałem ten błąd:
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Wiem, że w Git chodzi o to, aby pobrać projekt, zmienić, przetestować, a następnie przekazać do dostawcy hostingu (w tym przypadku GitHub), ale po prostu zmienić katalog, chcę bezpośredniej operacji. Czy to w ogóle możliwe z Git?
Może powinienem użyć innego programu?
Odpowiedzi:
Fatalny komunikat o błędzie wskazuje, że pracujesz z miejsca, które nie jest klonem twojego repozytorium git. Zacznijmy od klonowania repozytorium git:
Następnie wprowadź:
i zmień nazwę katalogu:
Aby zmiana mogła być udostępniana, musisz ją zatwierdzić:
Teraz możesz przekazać go do zdalnego repozytorium git:
i zobaczysz zmianę w interfejsie GitHub.
źródło
Nie, nie można tego zrobić jako operacji bezpośredniej ze względu na strukturę git.
Git działa w ten sposób, że przechowuje kopię całego repozytorium, w tym całą historię, w każdej lokalizacji.
Github, Bitbucket lub jakikolwiek inny dostawca hostingu jest w zasadzie kolejną kopią twojego repozytorium git, z ładnym interfejsem internetowym na górze, który jest traktowany jako centralne źródło prawdy w większości przepływów pracy, jednak narzędzie git tego nie wie.
Zmiany są śledzone jako zatwierdzenia. Zgaduję, że
direct operation
masz na myśli sposób zmiany nazwy folderu bez tworzenia zatwierdzenia. Chociaż jest to możliwe poprzez przepisywanie historii, nie poleciłbym jej, szczególnie jeśli jest wiele osób / komputerów z kopiami repozytorium git, ponieważ może to prowadzić do niespójności.Najłatwiejszym sposobem zmiany nazwy folderu w repozytorium git byłoby sklonowanie go lokalnie
Jeśli masz już lokalną kopię repozytorium, wyciągnij ją, aby upewnić się, że jesteś na bieżąco z repozytorium zdalnym
Wprowadź zmiany, których potrzebujesz lokalnie
Które powinny być automatycznie dodawane do obszaru przeciwności przez github. Następnie powinieneś zatwierdzić i pchnąć te zmiany.
Spowoduje to zatwierdzenie zmiany w lokalnym repozytorium, a następnie przekazanie tych zmian do zdalnej kopii repozytorium, w tym przypadku Github.
źródło
git clone --depth
Można zmienić nazwę katalogu bez klonowania repozytorium, używając interfejsu API GitHub. Nie znam żadnej implementacji.
Źródło: https://stackoverflow.com/a/31567094/370786
źródło