Apropos
Ich habe es für diejenigen gemacht, die sagen.
Ich selbst habe Git / GitHub mit git bash verwendet, aber als ich git zum ersten Mal mit Cloud9 verwendet habe, habe ich verschiedene Fehler erhalten und war in Schwierigkeiten. Daher dachte ich, ich wollte einen Artikel für Cloud9 und habe ihn erstellt. ..
Außerdem wird davon ausgegangen, dass das GitHub-Repository "öffentlich" ist. (Das Verfahren scheint anders zu sein, wenn es privat ist)
Bereiten Sie zunächst ein Cloud9-Terminal vor. Stellen Sie für alle Fälle sicher, dass Git enthalten ist. (Natürlich ist es in Cloud9 enthalten)
$ git --version
git version 2.14.5
Wechseln Sie in ein Verzeichnis, in dem Sie ein lokales Repository erstellen möchten
$ git init
Generiert ein ".git" -Verzeichnis (lokales Repository).
Fügen Sie zunächst den Staging-Bereich hinzu
$ git add [file]
Übertragen Sie dann die Dateien im Staging-Bereich in das lokale Repository
$ git commit -m "[Jede Nachricht]"
Wenn Sie ein Commit durchführen können, ist die Registrierung im lokalen Repository von git, das in cloud9 erstellt wurde, abgeschlossen. Als nächstes müssen Sie in das GitHub-Repository (Remote-Repository) pushen (hochladen). Zunächst aus der Registrierung des Remote-Repositorys
$ git remote add origin [email protected]:[Eigenes GitHub-Repository].git
danach,
$ git push -u origin master
Ich denke, es gibt Leute, die hier den folgenden Fehler bekommen.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Der obige Fehler hat für jede Zeile die folgende Bedeutung:
Berechtigung mit öffentlichem Schlüssel verweigert.
Das Remote-Repository kann nicht gelesen werden.
Haben Sie Zugriffsrechte? Oder existiert das Repository selbst?
Lösen wir den Fehler.
Ich denke, dass die Registrierung des Remote-Repositorys früher abgeschlossen wurde. Daher ist die Fehlermeldung "Existiert das Remote-Repository selbst?" Kein Problem.
Jetzt lasst uns Zugang bekommen.
** Für den Zugriff auf GitHub ist ein öffentlicher Schlüssel erforderlich. ** ** ** Sie können darauf zugreifen, indem Sie einen öffentlichen Schlüssel in der Entwicklungsumgebung erstellen und den öffentlichen Schlüssel in GitHub registrieren.
Erstellen Sie zunächst einen öffentlichen Schlüssel im Verzeichnis in cloud9.
$ ssh-keygen -t rsa -C "[Meine E-Mail-Adresse, unter der ich das Remote-Repository registriert habe(・ ・ ・@gmail.com etc.)]"
(Es kann ohne den Kommentarteil nach -C ausgeführt werden, aber es scheint üblich zu sein, die in GitHub registrierte E-Mail-Adresse anzugeben.)
"Ssh-keygen" ist ein Befehl zum Erstellen eines öffentlichen und eines privaten SSH-Schlüssels (Secure SHell). Die Bedeutung der Option ist übrigens
Wenn Sie mehr Details wissen möchten, finde ich den folgenden Artikel gut. https://www.atmarkit.co.jp/ait/articles/1908/02/news015.html
Bei der Ausführung wird die folgende Meldung angezeigt. Es gibt 3 Zeilen, die mit Enter ~ beginnen, und Sie werden aufgefordert, jede Zeile einzugeben. Es ist jedoch kein Problem, wenn Sie die Eingabetaste drücken, ohne etwas einzugeben.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Wenn Sie oben dreimal die Eingabetaste drücken, wird die folgende Meldung angezeigt und der öffentliche Schlüssel erstellt. (Der Teil des Randomart-Bildes wurde entsprechend umgeschrieben.)
Your identification has been saved in /home/ec2-user/.ssh/id_rsa.
Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:……………………………………@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
|.................... |
| .......... |
| ......= ...... |
| *..... ..... |
| ...... BS+ |
| =...........o.. |
ho
host github
| ................. |
| ......o*=.....+ |
| .E..........*...... |
+----[SHA256]-----+
Überprüfen Sie dann das Verzeichnis .ssh und Sie werden sehen, dass der öffentliche Schlüssel erstellt wurde.
$ ls ~/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
Zeigen Sie den Dateiinhalt von id_rsa.pub mit dem folgenden Befehl an und kopieren Sie den Inhalt. (Es ist in Ordnung, den gesamten Inhalt der Datei zu kopieren, anstatt den Inhalt mit dem Befehl less anzuzeigen.)
$ less ~/.ssh/id_rsa.pub
Kopieren Sie den Teil der Datei, der unten mit ssh-rsa beginnt. (Es spielt keine Rolle, ob Sie die E-Mail-Adresse in die Kopie aufnehmen oder nicht, da sie sich nicht ändert.)
ssh-rsa ...
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・[Mail Adresse]
Ich werde den Teil registrieren, den ich gerade auf GitHub kopiert habe, aber zuerst über einen Browser auf GitHub zugreifen und in meinem Profilbild oben rechts auf "Einstellungen" klicken
Wählen Sie dann links im Menü "SSH- und GPG-Schlüssel" und klicken Sie auf "Neue SSH-Schlüssel".
Dann erscheint der Registrierungsbildschirm. Fügen Sie den Wortlaut beginnend mit "ssh-rsa", den Sie zuvor kopiert haben, in den Textbereich des "Schlüssel" -Teils des Registrierungsbildschirms ein. Der Titel spielt übrigens keine Rolle.
Klicken Sie nach dem Einfügen auf "SSH-Schlüssel hinzufügen".
In vielen Artikeln heißt es, dass Sie eine Verbindung herstellen können, indem Sie den folgenden Befehl eingeben. Es gibt jedoch Fälle, in denen ein Fehler auftritt und die Verbindung fehlschlägt.
$ ssh -T [email protected]
Wenn die Verbindung fehlschlägt, erstellen Sie eine Datei mit dem Namen "config" im Verzeichnis .ssh. Erstellen Sie eine Datei und beschreiben Sie deren Inhalt mit vim.
$ vim ~/.ssh/config
Fügen Sie den folgenden Wortlaut in den Inhalt der Konfigurationsdatei ein. Bitte ändern Sie den Pfad nach ** IdentityFile ** in den Pfad, in dem Ihre eigene "id_rsa" -Datei gespeichert ist.
Host github github.com
HostName github.com IdentityFile ~/.ssh/id_rsa
User git
Legen Sie nach dem Erstellen die Berechtigungen fest. Nachdem Sie eine neue Datei erstellt haben, legen Sie die entsprechenden Berechtigungen fest, damit sie ordnungsgemäß ausgeführt werden kann.
Anfangs hat die Konfigurationsdatei keine Berechtigungen.
Aber dieses Mal müssen wir es in einen Zustand versetzen, in dem "** Besitzer ** ** Leseberechtigung ** hat und ** andere Benutzer ** keine ** Berechtigung ** haben".
Daher sollte die Behörde 600 oder 400 sein. (Weil Sie möglicherweise eine Schreibberechtigung haben oder nicht)
Geben Sie niemand anderem als dem Eigentümer Autorität. Gehen Sie für 600 wie folgt vor:
$ chmod 600 ~/.ssh/config
Dann machen Sie folgendes:
$ ssh -T [email protected]
Führen Sie es aus, und wenn die folgende Zeichenfolge ausgegeben wird, ist es OK!
Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.
** Jetzt kannst du pushen. ** ** **
Mit git push können Sie Dateien aus Ihrem lokalen Repository in ein Remote-Repository hochladen.
$ git push origin master
Das ist es!
Recommended Posts