Chciałbym git clonezawartości repozytorium, które mam na GitHub . Kiedy git clone(git @ github: me / name.git ...) dostaję folder o nazwie, name/a wewnątrz nazwy mam swoją zawartość ... Jak uzyskać JUST zawartość?
Chciałbym git clonezawartości repozytorium, które mam na GitHub . Kiedy git clone(git @ github: me / name.git ...) dostaję folder o nazwie, name/a wewnątrz nazwy mam swoją zawartość ... Jak uzyskać JUST zawartość?
Odpowiedzi:
Jeśli bieżący katalog jest pusty, możesz to zrobić za pomocą:
git clone git@github:me/name.git .
(Zwróć uwagę .na końcu, aby określić bieżący katalog.) Oczywiście spowoduje to również utworzenie .gitkatalogu w bieżącym folderze, a nie tylko kodu źródłowego z projektu.
Ten opcjonalny [directory]parametr jest udokumentowany na git clonestronie podręcznika , która wskazuje, że klonowanie do istniejącego katalogu jest dozwolone tylko wtedy, gdy ten katalog jest pusty.
.omówione w odpowiedzi: git clone https://github.com/humaun21/Test .. I tak, git@github.me/name.gitjest symbolem zastępczym dla Twojego rzeczywistego adresu repozytorium git.
rm .DS_Storei możesz już iść.
Niestety, to nie działa, jeśli istnieją inne niepowiązane katalogi już w tym samym katalogu. Poszukuję rozwiązania. Komunikat o błędzie to: „fatal: destination destination”. ” już istnieje...".
Rozwiązaniem w tym przypadku jest:
git init
git remote add origin git@github.com:me/name.git
git pull origin master
Ten przepis działa, nawet jeśli istnieją inne katalogi w tym, w którym chcesz się zameldować.
github.comtam później git remote ..., a nie tylko github?
git fetch --allprzed git pull origin master, ponieważ jeśli na repo znajdują się inne gałęzie, git pullnie dostanę ich, chyba że użyjesz go fetchnajpierw. Czy to jest poprawne?
Jeśli folder nie jest pusty, działała dla mnie nieco zmodyfikowana wersja odpowiedzi @ JohnLittle:
git init
git remote add origin https://github.com/me/name.git
git pull origin master
Jak zauważył @ peter-cordes, jedyną różnicą jest użycie protokołu https zamiast git, dla którego musisz mieć skonfigurowane klucze SSH .
Możesz określić katalog docelowy jako drugi parametr git clonepolecenia, dzięki czemu możesz:
git clone <remote> .
Spowoduje to sklonowanie repozytorium bezpośrednio w bieżącym katalogu lokalnym.
ten pracownik dla mnie
git clone <repository> .