Help us understand the problem. What is going on with this article?

git clone 出来ない( ノД`)…おぉー!出来たー( ;∀;)!!!

More than 1 year has passed since last update.

背景…ワタシの素人ぶり

1_こんな感じですワタシ.png

1.開発をやり始めた頃、バックアップを取りながら仕事をしていました。
 超アナログにフォルダ毎全部コピーしてバックアップフォルダを量産
 ディクス容量を圧迫するよなー:sweat:っていっぱい溜まったら削除するみたいな
 (事務職が長いワタシはこんなもんだと思って不便を感じてなかったです )

2.他の人と一緒にプロジェクトをやることになった際に、Sourcetreeを使ったバージョン管理を
 教えて頂きました。設定は全てやって頂き、ワタシはコミットしてプッシュとプルをせっせとやる日々:relaxed:

3.プロジェクト終了後も便利だなーとバージョン管理にSourcetreeを使い続けていた、ある日
 GitHubに公開されているものをリポジトリごとコピーして来て使うことが出来るというのを聞いて
 ワタシもやってみようとGitHubのアカウントを作成 :smirk:

4.GitHubからgit cloneしようとしたらアクセス権がないと言われて
 調べたらSSHキーが登録されてないせいだって…うわぁSSHキー…って何…:scream:   こんな感じです。笑


ワタシ…分からないことを検索して開いたページがGitHubの画面ってことは数えきれないほどあります。
親切な方の解説の後に、コードはここに置いてますのリンク先がGitHubだったりってのも山ほど
でも、見方が分からなくて今まで閉じてました。苦笑 本当この画面苦手意識しかなかったです。
jsoupo.png

ワタシの必殺技 拡張のGoogle翻訳も全くここでは変換されず、それもさらに苦手意識を助長していました。

でも、やっとわかりました。このページはGitのリポジトリを丸ごと公開してくれているのですね。
ワタシも新しいツールとか作ろうと思ったら、Git管理するために新しいリポジトリを作成して
そこに必要なファイルを追加して、コードを書いてコミットしてプッシュを繰り返して出来あがるのは
Sourcetreeでイメージがつきます。そうやって、出来あがったものが公開されてるとわかったら、
なんと有難い画面だったんだー:grinning:!!! って使ってみたくなりました。

まず、GitHubにアカウントを登録します

https://github.com/にアクセスしてアカウントを登録します。
Github.png

無料のプランを選んでContinueボタンを押す
プランは無料.png

色々聞かれています。がスキップしてもいいみたいです。
GitHubをどのように使いますか?とか興味があることを教えてくださいとかそんな質問をされてます。
ステップ2.png

Start a project を選択
startproject.png

メールを確認してくださいと言ってます。
メール.png

はい。GitHubからメール届いてました。Verify email addressをクリックすればOKです。
メアド確認.png

新しいリポジトリの作成画面が表示されたので、無事GitHubのアカウントは作成できました。
new.png

アカウントの画像を変える

ワタシ、何かのサービスにアカウントを作成したら真っ先に画像を変えるっていう性分なもので…
ついでに手順も書いておきます。

右上の画像の脇にある▼をクリックしてSettingsを選びます。
アイコン変える1.png

次に右側のUpload new piutureをクリック
画像を確認.png

画像を選択します。
画像を選べばOK.png

画像をいい感じにトリミングしてSet new profile pictureをクリック
アイコン変える.png

はい。画像が変わりました。あースッキリした。これで本題に戻れます。:grin:
画像を設定済み.png

よーし、git cloneしてみます。

私事なのですが、現在androidのアプリを作成していて、その際にお世話になっているjsoupさん
今回はこちらのリポジトリをclone(コピー)しようと思います。
jsoup.png

まずは、cloneするディレクトリを作成します。コマンドを入力
(今回はデスクトップにjsoupというディレクトリを作成しました)

mkdir jsoup

次にjsoupディレクトリに移動

cd jsoup

さて、ではブラウザに一旦戻ります。
該当のページの右側にある緑色のボタンClone or downloadをクリック
jsoup2.png

するとClone with HTTPSのウィンドウが開きました。
Use SSHをクリックしてみます。すると今度はHTTPSがSSHに変わりました。
HTTPSだと表示されているURLが https で始まり、SSHだと git@ で始まっています。
GithubURL.png
HTTPSっていう通信方式とSSHっていう通信方式があってHTTPSでやると速いらしいのですがcloneする度に
認証の画面が立ち上がって来るので、SSH方式でやった方がスムーズだということで今回はSSHでやります。
URLの右側にあるマークを押すとURLがクリップボードにコピーされます。便利なので押します。

さて、ではコマンドに戻ってお待ちかね git clone します。git clone のあとに
右クリックすると先ほどクリップボードに貼り付けたURLがペタッと貼り付けられます。そしてEnter

git clone git@github.com:jhy/jsoup.git

Cloning into 'jsoup'... えーっ?:cold_sweat:拒否された…。アクセス権ないの~???
コマンド.png

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

これは、GitHubにSSHキーを登録していないから出ているエラーみたいです。

SSHキーを作成する

そっかじゃあSSHキーってどうやって作るのー?ということで、こちらを参考にさせて頂きました。
https://qiita.com/suthio/items/2760e4cff0e185fe2db9
タイトルは辛辣ですけども、ワタシも理解できるほど とても分かりやすく書いて下さっています。

…ではやってみます。コマンドに ssh-keygen -t rsa -b 4096 -C "コメント" を入力しEnter
※コメントはGitに登録しているメアドを使用するのが一般的だそうです。してないメアドでも大丈夫

ssh-keygen -t rsa -b 4096 -C "#######@#######.com"

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\tedkuma/.ssh/id_rsa):
キーを保存するファイルはデフォルトだと( )内に作成されます。このままでよければEnterします。
komanndo.png

Enter passphrase (empty for no passphrase): →任意のパスフレーズを入力します。
Enter same passphrase again:         →再度同じパスフレーズを入力します。
パスフレーズ入力.png

2回同じパスフレーズを入力すると、こんな画面が出ます。公開鍵と秘密鍵が出来ました。
keyが出来たよ.png

.sshの中を確認してみます。id_rsaid_rsa.pub が作成されています。
id_rsa が秘密鍵、id_rsa.pub はpublicのpub だから公開鍵ってことです。こっちをGitHubさんに教えます。
.ssh.png

GitHubアカウントにSSHキーを登録する

ブラウザに戻って右上のアイコン隣の▼をクリックして、Settingsを選択
githubOP.png

左側にあるSSH and GPG keys をクリック
SSH登録.png

SSH keysの右側にある緑色のボタン New SSH key を押します。
設定の画面.png

そうするとこの画面になります。下段にあるKeyのところに公開鍵の情報を入力する必要があります。
SSH key入力.png

ではコマンドで公開鍵の情報をクリップボードにコピーします。
windowsの場合は clip < コピーするファイル名 です。

clip < C:\Users\tedkuma/.ssh/id_rsa.pub

クリップボードにコピー.png

さて、ブラウザに戻って先ほどのKeyに貼り付けます。titleには任意のタイトルを入力して
Add SSH keyボタンをクリック
はっ付けた.png

GitHubのパスワードを入力します。
githubのパスワード入れる.png

SSHキーが登録されました。
keyが登録されましたよ.png

今度こそー! 再度 git cloneしてみます

もう一度、cloneのコマンドを入力

git clone git@github.com:jhy/jsoup.git

そうすると接続を続行していいですか?と聞かれます。
今度こそー!.png

The authenticity of host 'github.com (192.30.255.122)' can't be established.
RSA key fingerprint is SHA : ###############################
Are you sure you want to continue connecting (yes/no)?

ここに書かれているfingerprintのRSA keyとコマンドに表示されているRSA keyが一緒なのを確認してyesを入力
確認する.png

known hostsにgithub.comが追加されました。続いてキーのパスフレーズを入力
こんどはこれ.png

今度は良さげです:ok_hand_tone2:
出来たー.png

無事にclone出来ましたー!!!良かった良かった。jsoupの中にcloneしたjsoupが入ってます。
clone出来ました★.png

例えが適切なのかはわかりませんが、ワタシの感覚だと
SSHは合鍵を信用できる人に預けておいて合鍵で入ってきてもらって、
HTTPSは宅配業者がインターホン鳴らしてcloneしたファイルを置いていくような感じかなーって思いました。
そしてGitHubの便利さに気づいたので、これからは怯まずgit cloneして活用させて頂こうと思います。

★゜・。ワタシみたいにgit cloneやってみようかなーで止まっちゃった人の助けになりますように・゜★

tedkuma
ずーっとエクセルが得意なだけの営業事務してました。プログラマーになりたいとアラフォーデビューと同時に開発のお仕事に転職。開発経験が浅いので、チートシートとして書き残しつつ、ワタシみたいな人に共有したいと記事を書いています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした