Jak mogę 'git clone' z innego komputera?

Na jednej maszynie (adres IP 192.168.1.2), tworzę repozytorium Git przez

$ cd /home/hap/working
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
I mam inną maszynę w tej samej sieci Wi-Fi. Jak Mogę uzyskać klon z drugiej maszyny?
Author: CharlesB, 2010-05-11

3 answers

Musisz użyć git + SSH URL aby wykonać klonowanie Git:

git clone git+ssh://[email protected]/~/working

Do rozbicia:

  • git+ssh mówi Gitowi, że chcesz użyć ssh do połączenia się z repozytorium Git.
  • hap to Twoja nazwa użytkownika (zakładam na podstawie katalogu domowego w twoim pytaniu).
  • 192.168.1.2 jest maszyną, z którą chcesz się połączyć
  • ~/working jest ścieżką do repozytorium Git na zdalnej maszynie (więc ~ jest Twoim katalogiem domowym)

Niektóre inne rzeczy do zapamiętania:

  • musisz mieć włączony serwer ssh na komputerze z repozytorium Git
  • musisz znać hasło dla użytkownika hap
 91
Author: Josiah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-18 19:32:35

Zakładam, że na obu komputerach zainstalowałeś Gita.

Teraz to, co robisz, zależy od tego, jakie usługi zainstalowałeś, czyli jak możesz połączyć się z jednej maszyny do drugiej.

Najprostszym przypadkiem jest uruchomienie sshd na maszynie, z której chcesz sklonować z, i można ssh z maszyny, z której chcesz sklonować do na maszynie, z której chcesz sklonować.

If you can do

ssh 192.168.1.2

(lub jeśli masz inną nazwę Użytkownika na inne maszyny, ssh [email protected]), wtedy powinieneś być w stanie sklonować przez SSH, tak jak Josiah napisał:

git clone git+ssh://[email protected]/~/working

Jeśli chcesz kontynuować pobieranie / pchanie między maszynami, powinieneś skonfigurować uwierzytelnianie kluczem publicznym dla SSH, aby nie musiało podawać hasła przy każdym pobieraniu.


Jeśli nie masz zainstalowanego sshd na źródłowym komputerze, możesz sklonować za pomocą "smart" protokołu HTTP, jeśli masz zainstalowany serwer WWW i możesz zainstalować skrypty CGI (zobacz Git-http-backend strona podręcznika), możesz też klonować używając "głupiego" protokołu HTTP, jeśli masz zainstalowany serwer WWW, ale może on obsługiwać tylko pliki statyczne (musisz najpierw uruchomić git update-server-info w repozytorium źródłowym), lub możesz klonować używając rsync jeśli masz zainstalowany.

W ostateczności możesz użyć "git bundle "do utworzenia archiwum, które możesz przenieść na przykład za pomocą pendrive' a USB i z niego sklonować.

 2
Author: Jakub Narębski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:42

Myślę, że ludzie szukają tej odpowiedzi. Poniższe polecenie w terminalu spowoduje zalogowanie się do drugiego komputera i sklonowanie istniejącego repo. W bieżącej lokalizacji ścieżki terminala (więc cd Najpierw do preferowanej lokalizacji).

git clone [email protected]:/home/path/to/repo.git

W przypadku, gdy nie masz teraz adres IP. Użyj ping, aby określić adres ip serwera. Po adresie IP nie zapomnij użyć use a :, a następnie zapisać ścieżkę bezwzględną.

 0
Author: Michiel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-21 05:21:20