Mam niepusty katalog (np. / Etc / coś) z plikami, których nazwy nie można zmienić, przenieść ani usunąć.
Chcę sprawdzić ten katalog w git na swoim miejscu.
Chcę być w stanie przekazać stan tego repozytorium do zdalnego repozytorium (na innym komputerze) za pomocą „git push” lub czegoś podobnego.
Jest to trywialne przy użyciu Subversion (obecnie robimy to przy użyciu Subversion) przy użyciu:
svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>
Co to jest odpowiednik git?
Czy mogę „sklonować git” do pustego katalogu i po prostu przenieść katalog .git i wszystko działa?
git init
w lokalnym katalogu?Odpowiedzi:
Biorąc pod uwagę, że masz skonfigurowanego demona git
<url>
i puste repozytorium:źródło
git config branch.master.remote origin
igit config branch.master.merge refs/heads/master
to, co skończę, będzie dokładnie takie samo, jak gdybym sklonował zdalne repozytorium? tzngit pull
igit push
będzie po prostu pracować ?AppName
w GitHub. Nie było dla mnie jasne, jakie dokładnie<url>
środki. Tak więc dla tych, którzy mają to samo pytanie, po prostu korzystamy z GitHub.com, nie uruchamiamy naszego repozytorium, a wtedy ten<url>
używany w 5. linii wyglądałhttps://github.com/CompanyName/AppName
git pull origin master --allow-unrelated-histories
wykonać scalenie.Tak właśnie robię. Dodałem wyjaśnienie, aby zrozumieć, co się do cholery dzieje.
Zainicjuj lokalne repozytorium
najpierw zainicjuj Git za pomocą
Dodaj wszystkie pliki do kontroli wersji za pomocą
Utwórz zatwierdzenie z wybraną wiadomością
Zainicjuj zdalne repozytorium
Utwórz projekt w GitHub i skopiuj adres URL swojego projektu. jak pokazano niżej:
Połącz zdalne repozytorium z repozytorium lokalnym
Teraz użyj skopiowanego adresu URL, aby połączyć lokalne repozytorium ze zdalnym repozytorium GitHub. Po sklonowaniu repozytorium za pomocą git clone automatycznie tworzy zdalne połączenie o nazwie origin, wskazujące z powrotem na sklonowane repozytorium. Zdalne polecenie służy do zarządzania zestawem śledzonych repozytoriów.
Synchronizować
Teraz musimy połączyć kod lokalny ze zdalnym kodem. Ten krok jest krytyczny, w przeciwnym razie nie będziemy mogli wypchnąć kodu na GitHub. Przed wypchnięciem kodu musisz wywołać „git pull”.
Zatwierdź swój kod
Wreszcie wypchnij wszystkie zmiany w GitHub
źródło
Oto moje rozwiązanie:
źródło
.gitignore
&README.dm
Jeśli zdalne repozytorium nie jest puste (tak jest w przypadku korzystania z IBM DevOps na hub.jazz.net), należy użyć następującej sekwencji:
EDYCJA 30 stycznia 17: Proszę zobaczyć komentarze poniżej, upewnij się, że jesteś na właściwym repo!
źródło
Kiedy repozytorium github nie jest puste, takie jak .gitignore i licencja
Użyj pull --allow-niepowiązanych historii i push --force-with-leasing
Użyj poleceń
źródło
git push -u origin master --force-with-lease
Najprostszym sposobem na zrobienie tego, co uważam za przydatne, jest poniżej.
To może nie być oficjalny sposób, ale działa dobrze.
Załóżmy, że masz na komputerze projekt o nazwie „
XYZ
”. Teraz chcesz zrobić git repo tego projektu na github i korzystać z jego funkcjonalności.Krok 1 : przejdź do „
www.github.com
”Krok 2 : utwórz repozytorium z
README.md
plikiem „ ” (nazwij go tak, jak lubisz)Krok 3 : klonowanie repozytorium na komputerze.
Krok 4 : W sklonowanym folderze otrzymasz dwie rzeczy:
.git
folder „README.md
” i plik „ ”. Skopiuj te dwa do folderu projektu „XYZ
”.Krok 5 : Usuń sklonowane repozytorium.
Krok 6 : dodaj, zatwierdź i pchnij wszystkie pliki i foldery swojego projektu.
Teraz możesz po prostu użyć swojego projektu
XYZ
jako repozytorium git.źródło
Miałem podobny problem. Utworzyłem nowe repozytorium, NIE W KATALOGU, KTÓRE CHCIAŁEM ZROBIĆ REPOZYTORIUM . Następnie skopiowałem pliki utworzone do katalogu, w którym chciałem utworzyć repozytorium. Następnie otwórz istniejące repozytorium za pomocą katalogu, do którego właśnie skopiowałem pliki.
UWAGA: Użyłem github pulpitu, aby utworzyć i otworzyć opuszczające repozytorium.
źródło
Oto moje rozwiązanie, jeśli utworzyłeś repozytorium z domyślnymi
readme file
lublicense
źródło