Ich habe also ein Git-Repository, das ich irgendwann gezogen habe, und dieses Repository befindet sich auf einem Server. Ich habe keinen Zugriff auf das ursprüngliche Repository, aus dem ich es gezogen habe. Wie bekomme ich den Code vom vorhandenen Server auf einen anderen Computer?
EDIT 1: Also so sieht es aus:
COMPUTER A: Das Git-Repository, aus dem ich ursprünglich ausgecheckt habe. Darauf habe ich keinen Zugriff mehr.
COMPUTER B: Ein gemeinsam genutzter Server, auf dem ich den Code ausgecheckt habe.
COMPUTER C: Ein lokaler Laptop.
Kann ich dieses Verzeichnis einfach kopieren, ohne git zu verwenden, oder kann ich git verwenden, um es von B nach C zu klonen?
Dies wird erreicht, indem ein Klon des Repositorys erstellt wird, das sich auf COMPUTER B befindet, indem der Befehl ausgeführt wird git clone auf COMPUTER C, wo das geklonte Repository erstellt werden soll. Das Klonen in Git kann mit mehreren Protokollen erfolgen, darunter ssh, https, git; und diese erfordern ein entsprechendes Setup für die git clone Befehl zum Erfolg.
Der einfachste Ansatz besteht darin, den Git-Server auf COMPUTER B mit diesem Befehl zu starten:
> git daemon
Um Hilfe zum obigen Befehl zu erhalten, führen Sie aus git help daemon
Legen Sie dann eine Markierungsdatei im .git-Ordner des Repositorys auf COMPUTER B ab, um dem Git-Server die Berechtigung zu erteilen, den Klonbefehl auf diesem Repository auszuführen. Dies geschieht durch:
> cd <repository root>/.git
> touch git-daemon-export-ok
Führen Sie nun von einem Terminal auf COMPUTER C die folgenden Befehle aus:
> cd <folder in which to create the cloned repository>
> git clone git://<ip address of COMPUTER B>/<full path of the repository on COMPUTER B>
Dadurch wird das geklonte Repository auf COMPUTER C erstellt.
Es gibt einen Fehler: Zugriff verweigert oder Repository nicht exportiert.
– Abhishek Jain
15. März 2016 um 13:15 Uhr
Ich habe ‘Verbindung verweigert’ erhalten. Wie kann ich Git-Pemission in Git-Repos einrichten?
– Chan-Kim
29. März 2017 um 12:56 Uhr
Sie können entweder vom Netzwerkspeicherort ziehen oder das gesamte Verzeichnis (mit dem .git-Ordner) auf den anderen Computer kopieren.
Sie können es einfach vom Server klonen, vorausgesetzt, Sie haben Zugriff auf den Speicherort des Klons – die Macht der Verteilung 😉
Ich bin mir nicht sicher, ob ich Zugriff darauf habe, wo der Klon gespeichert ist. Ich bin mir auch nicht sicher, wie ich den ursprünglichen Codesatz gezogen habe.
– Schaun
19. Januar 2010 um 3:18 Uhr
Ich denke, Matt will es von Computer B (“vorhandener Server”) auf Computer C (“einen anderen Computer”) klonen. Computer A ist derjenige, auf den Sie keinen Zugriff mehr haben. git clone Eintrag im Handbuch: kernel.org/pub/software/scm/git/docs/git-clone.html
– matt b
19. Januar 2010 um 3:20 Uhr
Haben Sie dann lokal einen Klon auf Ihrem Computer? Sie können davon genauso klonen; Die Repositories enthalten alle dieselben Informationen, modulo aller Änderungen seit dem letzten Abrufen.
– Matt Enright
19. Januar 2010 um 3:20 Uhr
Ich habe keinen Klon auf meinem Computer lokal nein. Nur auf der ursprünglichen Workstation, auf die ich den Code ursprünglich gezogen habe. Lassen Sie mich die Frage mit weiteren Informationen bearbeiten.
– Schaun
19. Januar 2010 um 3:22 Uhr
Ja, basierend auf Ihrer Bearbeitung können Sie von Computer B nach C klonen, wie @matt b sagte. Das ist mit “verteilter Quellcodeverwaltung” gemeint – es gibt keinen Unterschied zwischen dem Klonen von B oder von A auf C, und es ist genauso einfach, A später als Remote zu C hinzuzufügen, wenn Sie wieder Zugriff erhalten und dies zum “Haupt” machen möchten ‘ Upstream-Repository.
Angenommen, auf Computer B läuft ein SSH-Server. Ansonsten werden andere Protokolle unterstützt (file://, http://, \\computer_B (NetBios), …)
Wenn jemand Probleme mit dem Klonen hat, habe ich einfach Folgendes auf dem Computer verwendet, auf den die App geklont werden soll:
Gehen Sie in CMD zum Ordner, in den Ihre App beispielsweise geklont werden soll cd C:/my_apps/
Melden Sie sich bei github an und gehen Sie zu der App, die Sie klonen möchten, drücken Sie die grüne Taste „Klonen oder herunterladen“, Sie sehen den SSH-Link, kopieren Sie ihn.
im CMD-Lauf git clone [email protected]:user/my-app.git (verwenden Sie den kopierten SSH-Link)
Fertig
sdot257
Du meinst, du willst es auf einen anderen Computer klonen?
Wie wäre es mit:
git clone ssh://myserver/path/to/myproject.git
Wenn ich die Frage richtig verstehe, möchten Sie nur den Verlauf des Codes von B nach C übertragen. Da Git ein dezentrisches Modell verwendet, hat B den vollständigen Verlauf des Codes bis zum letzten Synchronisierungspunkt zwischen B und A.
Mir fallen drei Methoden ein, wenn Sie nur den Codeverlauf von B nach C übertragen möchten:
Direktkopie/rsync/etc. Kopieren Sie einfach alle Dateien und Strukturen in \B-machine\code.git nach \C
git clone: Dies ist die beste Wahl, wenn C über http oder ssh auf B zugreifen kann
git bundle: git unterstützt den Bundle-Befehl, und nach dem Bundle kopieren Sie die /rsync/ftp/scp-Bundle-Datei nach C
11168400cookie-checkGit-Repository von einer Maschine zur anderenyes