Au fait
Je l'ai fait pour ceux qui disent.
J'ai moi-même utilisé Git / GitHub avec git bash, mais lorsque j'ai utilisé git avec Cloud9 pour la première fois, j'ai eu diverses erreurs et j'ai eu des problèmes, alors j'ai pensé que je voulais un article pour Cloud9 et je l'ai créé. ..
Il est supposé que le référentiel GitHub est "public". (La procédure semble être différente si elle est privée)
Tout d'abord, préparez un terminal cloud9. Juste au cas où, assurez-vous que git est inclus. (Bien sûr, il est inclus dans Cloud9)
$ git --version
git version 2.14.5
Accédez à n'importe quel répertoire dans lequel vous souhaitez créer un référentiel local
$ git init
Générera un répertoire ".git" (référentiel local).
Tout d'abord, ajoutez à la zone de préparation
$ git add [file]
Ensuite, validez les fichiers de la zone de préparation dans votre référentiel local
$ git commit -m "[Tout message]"
Si vous pouvez vous engager, l'enregistrement est terminé dans le référentiel local de git créé sur cloud9. Ensuite, vous devez pousser (télécharger) vers le référentiel GitHub (référentiel distant). Tout d'abord, à partir de l'enregistrement du référentiel distant
$ git remote add origin [email protected]:[Propre référentiel GitHub].git
ensuite,
$ git push -u origin master
Je pense qu'il y a des gens qui obtiennent l'erreur suivante ici.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
L'erreur ci-dessus a la signification suivante pour chaque ligne:
Autorisation refusée avec clé publique.
Le référentiel distant ne peut pas être lu.
Avez-vous des droits d'accès? Ou le référentiel lui-même existe-t-il?
Résolvons l'erreur.
Je pense que l'enregistrement du référentiel distant a été effectué plus tôt. Par conséquent, le message d'erreur "Le référentiel distant existe-t-il?" N'est pas un problème.
Maintenant, accédons.
** Une clé publique est requise pour accéder à GitHub. ** ** Vous pouvez y accéder en créant une clé publique dans l'environnement de développement et en enregistrant la clé publique dans GitHub.
Tout d'abord, créez une clé publique dans le répertoire à l'intérieur de cloud9.
$ ssh-keygen -t rsa -C "[Mon adresse e-mail où j'ai enregistré le référentiel distant(・ ・ ・@gmail.com etc.)]"
(Il peut être exécuté sans la partie commentaire après -C, mais il semble qu'il soit courant de spécifier l'adresse e-mail enregistrée dans GitHub)
"Ssh-keygen" est une commande pour créer une clé publique et une clé privée SSH (Secure SHell). À propos, la signification de l'option est
Si vous voulez en savoir plus, je pense que l'article suivant est bon. https://www.atmarkit.co.jp/ait/articles/1908/02/news015.html
Une fois exécuté, le message suivant apparaîtra. Il y a 3 lignes commençant par Enter ~, et il vous sera demandé d'entrer chaque ligne, mais il n'y a aucun problème si vous appuyez sur Entrée sans rien entrer.
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:
Si vous appuyez sur Entrée trois fois ci-dessus, le message suivant s'affiche et la clé publique est créée. (La partie de l'image aléatoire a été réécrite correctement)
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]-----+
Vérifiez ensuite le répertoire .ssh et vous verrez que la clé publique a été créée.
$ ls ~/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
Affichez le contenu du fichier de id_rsa.pub avec la commande suivante et copiez le contenu. (Il est possible de copier tout le contenu du fichier au lieu de regarder le contenu avec la commande less)
$ less ~/.ssh/id_rsa.pub
Copiez la partie du fichier qui commence par ssh-rsa ci-dessous. (Peu importe que vous incluiez l'adresse e-mail dans la copie ou non, car elle ne change pas.)
ssh-rsa ...
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・[adresse mail]
Je vais enregistrer la partie que je viens de copier sur GitHub, mais d'abord accéder à GitHub à partir d'un navigateur et cliquer sur "paramètres" à partir de l'image de mon profil en haut à droite
Sélectionnez ensuite "Clés SSH et GPG" dans le menu de gauche et cliquez sur "Nouvelles clés SSH".
Ensuite, l'écran d'enregistrement apparaîtra. Collez le libellé commençant par "ssh-rsa" que vous avez copié précédemment dans la zone de texte de la partie "clé" de l'écran d'enregistrement. Au fait, le titre n'a pas d'importance.
Après avoir collé, cliquez sur "Ajouter une clé SSH".
Ici, de nombreux articles disent que vous pouvez réussir à vous connecter en tapant la commande suivante, mais il y a des cas où une erreur se produit et la connexion échoue.
$ ssh -T [email protected]
Si la connexion échoue, créez un fichier appelé "config" dans le répertoire .ssh. Créez un fichier et décrivez son contenu avec vim.
$ vim ~/.ssh/config
Collez le libellé suivant dans le contenu du fichier de configuration. Veuillez remplacer le chemin après ** IdentityFile ** par le chemin qui stocke votre propre fichier "id_rsa".
Host github github.com
HostName github.com IdentityFile ~/.ssh/id_rsa
User git
Après l'avoir créé, définissez les autorisations. Maintenant que vous avez créé un nouveau fichier, définissez les autorisations appropriées pour qu'il puisse fonctionner correctement.
Au départ, le fichier de configuration n'a aucune autorisation.
Mais cette fois, nous devons le mettre dans un état où "** le propriétaire ** a ** l'autorisation de lecture ** et ** les autres utilisateurs ** n'ont pas la ** autorisation **".
Par conséquent, l'autorité devrait être 600 ou 400. (Parce que vous pouvez ou non avoir l'autorisation d'écriture)
Ne donnez aucune autorité à quiconque autre que le propriétaire. Pour 600, procédez comme suit:
$ chmod 600 ~/.ssh/config
Ensuite, procédez comme suit:
$ ssh -T [email protected]
Exécutez-le, et si la chaîne de caractères suivante est sortie, c'est OK!
Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.
** Maintenant, vous pouvez git push. ** **
Vous pouvez utiliser git push pour télécharger des fichiers de votre référentiel local vers un référentiel distant.
$ git push origin master
C'est tout!
Recommended Posts