Ich habe auf meinem Desktop-Rechner (Windows 7) ein Git-Repository erstellt mit:
git init
git add <all my files>
git commit -m "added my files"
Jetzt habe ich einen neuen Ubuntu Server 10.10 auf einem Rechner in meinem LAN installiert und OpenSSH installiert. Mein Ausgangsverzeichnis ist /home/jonas
und ich habe ein Verzeichnis ~/code/
erstellt, in dem meine Projekte gespeichert werden. Ich kann mich mit PuTTY von Windows 7 aus bei Ubuntu Server anmelden.
Ich habe Git auf dem Server mit Sudo apt-get install git
installiert.
Jetzt möchte ich mein Git-Repository auf meinem Desktop zum Server hinzufügen. Ich habe versucht, den Anweisungen von Pragmatic Version Control Using Git zu folgen.
Von meinem Desktop aus führe ich die folgenden Befehle aus:
git remote add Origin [email protected]/home/jonas/code/myproject.git
git Push Origin master
Ich habe aber diese Fehlermeldung erhalten:
fatal: '[email protected]/home/jonas/code/myproject.git' does not appear to be
a git repository
fatal: The remote end hung up unexpectedly
Worin besteht das Problem? Wie erstelle ich das Remote-Repository?
Wie von PerfectlyNormal vorgeschlagen, habe ich der Adresse einen :
hinzugefügt. Jetzt hat es besser funktioniert und ich musste mein Passwort auf dem Server eingeben, aber dann bekam ich eine ähnliche Fehlermeldung:
fatal: '/home/jonas/code/myproject.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Muss ich ein Git-Repository auf dem Server initialisieren, bevor ich git Push
darauf zugreifen kann?
Haben Sie das Repository auf dem Remote-Server eingerichtet? Du musst rennen
mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare
auf dem Server, um es einzurichten. Ich empfehle einen Blick auf das Einrichten eines Git-Servers im kostenlosen ProGit-Buch .
git remote add Origin [email protected]/home/jonas/code/myproject.git
Bei Verwendung von SSH können Remote-Repository-Adressen auf zwei Arten ausgedrückt werden. Einer, der absolute Pfade verwendet, und einer, der relative Pfade aus dem Benutzerverzeichnis verwendet. Du hast sie vermischt.
Der korrigierte Befehl wäre einer der folgenden.
git remote add Origin [email protected]:code/myproject.git
git remote add Origin ssh://[email protected]/home/jonas/code/myproject.git
Das erste, was mir auffällt, ist, dass Ihnen ein ":" fehlt. Sollte git remote add Origin [email protected]:/home/jonas/code/myproject.git
sein
Normalerweise erstelle ich ein Bare-Repository und scp dieses Repository auf dem Server, wenn ich ein Remote-Repository einrichte.
Zum Beispiel,
cd c:\gits
git clone --bare c:\path\to\local\repository\some_project
dadurch wird some_project.git erstellt.
Dann,
scp -r some_project.git [email protected]:/path/to/remote/gits/.
geben Sie Ihr Passwort ein oder haben Sie bereits Zugriff auf öffentliche/private Schlüssel.
du brauchst einen Doppelpunkt:
git remote add Origin [email protected]/home/jonas/code/myproject.git
sollte sein:
git remote add Origin [email protected]:/home/jonas/code/myproject.git
Werfen Sie einen Blick auf das praktische Skript git-create.bash
von Eike Kettner . Geben Sie Ihre bevorzugte Remote-Adresse ([email protected]:code/myproject.git
) an. Das SSH wird automatisch erstellt, um das Verzeichnis zu erstellen und ein leeres --bare
-Repository für Sie zu initialisieren. Sie müssen lediglich git remote
und git Push
hinzufügen.
git-create.bash
: Erstellt ein neues leeres Remote-Git-Repository über ssh
Verwendungszweck:
git-create.bash '[email protected]:code/myproject.git'
git remote add Origin '[email protected]:code/myproject.git'
git Push -u Origin master
Verbinden Sie Ihr lokales Repo. auf Git Remote Server Ubuntu
Erstellen Sie einen Benutzer auf dem Remote-Server und weisen Sie mit
ssh-keygen
.__ die Berechtigung für den SSH-Zugriff zu. In Ihrem lokalen Server und fügen Sie die.pub
-Datei in die ssh der entfernten .__ ein. Server.
Aktivitäten auf dem Remote-Server
Server: XX.XXX.1XX.XX
In der PuTTY-Befehlszeile
Gehen Sie zu Speicherort: cd ~/srv/git
srv in Ihrem Stammverzeichnis
Erstellen Sie einen Ordner: mkdir Ihr_Dateiname gefolgt von CD in Ihrer Datei in Ihrem Git-Ordner
git dort initialisieren: git init --bare
Done
Aktivitäten auf dem lokalen Computer
erstelle dein Repository ..
initialisieren von Git: git init
Erstellen Sie die Remote-Verbindung: git remote add Origin [email protected]:/srv/git/your_file_name
git Push.
Done
Wenn Sie irgendeinen Punkt blockiert haben, beziehen Sie sich auf: https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server .