😊

【超初心者】SouretreeでGitHubのリポジトリをクローンするまで

2021/04/27に公開

はじめに

comiと申します。3年ほどSEとして勤務していました。
「SEとして勤務していたなら、GitHubとかお手の物やろ?」と思われるかもしれませんが、なんと私のいた会社ではGitを使用していませんでした。
Twitter等で「GitHubが落ちたー仕事にならん!!!」みたいなツイートを見ても「はて、なんのことやら?」みたいな状態でした。しかも会社を辞めてから1年も経つと浦島太郎状態…。
というわけで、簡単にGitHubとはなんぞや、を見てからGUI操作でPush/PullできるSourcetreeも一緒に導入してみたいと思います。
超初心者向け(且つ自分向け)なので、ベテランの方は別の記事を見てください。

GitHubってなんぞや?

そもそもGitは「分散型バージョン管理システム」です。例えば、「同じソースコードファイルを2人の人が同時に開いて、保存したら先に保存したほうが上書きで消えてしまった…」なんてことはないでしょうか。また、「ファイルを更新するたびにファイル名に日付や更新者の名前を付けてバージョン管理をしている」なんてことでファイルが複数生成され、結局どれが最新かわからない、なんてこともあり得ますよね。
それを解決するのがGit、ということらしいです。
Gitは「リポジトリ」という、いわゆる大きなフォルダを作って、そこから個々に分けて編集できる…というものらしいです。とりあえずは

  • リモートリポジトリ:みんなで共有するためのリポジトリ
  • ローカルリポジトリ:個々人のPCに配置される、個人作業用のリポジトリ
    と認識しておけばよさそうです。
    リモート⇔ローカルのやり取りは、また別の機会に記事にできればと思います。
    GitHubはブラウザ上でGitを操作できるもの…と考えれば今のところは良さそうです。

Sourcetreeとは?

GitやGitHubはターミナルと呼ばれる(よくドラマとかでハッカーみたいな人が操作しているあの)黒い画面でコマンドを打つことで操作ができます。
でも、そんなこと言われてもコマンド覚えられないし、進捗とかだれが何の作業をしているのか見えるようにしたい…。そんな初心者のために、GUI操作(所謂マウスで操作する行為)ができるツールがいくつかあります。その1つがSourcetreeです。
今回はこのSourcetreeを使ってGitHubとローカル環境をつないでいこうと思います。正確には、Git上のリモートリポジトリをローカル環境にクローンすると言います。

SouretreeでGitHubのリポジトリをクローンする

GitHubのアカウント作成

まずはGitHubのアカウントを作成します。以下のサイトに行きましょう。
https://github.com/
このサイトの真ん中にあるボックスにメールアドレスを入力し、“Sign up for GitHub”をクリックします。

次にユーザ名とパスワードを決定します。
“Verify your account”にて、ロボットでないことを証明します。
確認ができたら“Create account”をクリックします。

“Welcome to GitHub”というページが出たら最下部まで移動します。

“Complete setup”をクリックします。

すると、以下のようなメールが登録したアドレスに届くので“Verify email adress”をクリックします(黒塗り部分はアカウント名とメールアドレスが入ります)。

以下の画像のような画面が出たら“Skip this for now”をクリック。

以下のような画面が出たらアカウント作成は完了です。

  1. GitHubにサインインする
    GitHubからサインアウトした場合はサインインをしましょう。
    トップ画面の“Sign in”をクリックします。

このような画面が出たら、ユーザ名(またはメールアドレス)とパスワードを入力し、“Sign in”をクリックします。

リポジトリを作る

GitHubでいうリポジトリとは、お手持ちのPCでいうところのフォルダのことです。GitHub内でソースコードの保管場所を決め、プロジェクトごとに分けることができます。

GitHubメイン画面の左側にある“Repositories”欄の“New”をクリックします。

以下のような画面になったら、赤枠で囲った部分を入力していきます。

  • Repository name
    リポジトリの名前を決めます。この名前がURLになるので、わかりやすいものにしましょう。
  • Description(optional)
    このリポジトリの内容を簡潔に記載しましょう。
    オプションなので書かなくても問題はありません。
  • Public or Private
    リポジトリの内容を全体公開したい場合はPublic、自分だけや特定の人にのみ公開したい場合はPrivateにしましょう。
    公開したい人には招待を送ることになります(今回は触れません)。
    私は一旦はPrivateにしています。
  • Add a README file
    README.txtを作成するかどうかを選択できます。作成する場合はチェックボックスにチェックを入れましょう。
    README.txtはリポジトリ全体の説明書です。

以上を記載したら、“Create repository”をクリックします。

以上のような画面が出たらリポジトリ作成は完了です。

Sourcetreeをインストールする

まず、以下のサイトにアクセスしましょう。
https://www.sourcetreeapp.com/
以下のような画面が表示されたら、

  • Windowsの方は“Download for Windows”をクリックしてください。
  • MacOSの方はその下の“Also available for Mac OS X”をクリックしてください。
    ※今回はWindowsでの手順を見ていきます。

以下のような画面が出たら“I agree~”の部分にチェックを入れ、“Download”をクリックします。

すると、“SourceTreeSetup-x.x.x.exe”というexeファイルがダウンロードされます(x.x.xはバージョン)。このファイルを実行します。
実行すると以下のような画面が表示されます。
Bitbucketを使うわけではないので、“スキップ”をクリックして飛ばします。

次の画面もチェックボックスが入ったままで“次へ”をクリックします。

ダウンロードが走ります。
以下のような画面が出たら“次へ”をクリック。

以下のような画面が出たら、黒塗りの部分がそれぞれ

  • このPCの「ユーザ」フォルダの位置
  • 使用するメールアドレス(GitHubと同じでOK)
    になっているか確認します。
    確認したら“次へ”をクリックします。

SSH鍵を求められたら、いったん“キャンセル”をクリックします。
以下のような画面が出たらインストール完了です。

SSH鍵とは

SSH鍵は、簡潔に言うと“SSHという方法で内容が暗号化されている通信で、サーバの認証に使われる鍵”です。これがないと通信が公に見える状態になってしまってセキュアで無くなってしまいます。
今回はローカル(自分のPC)環境とGitHubというクラウド環境での通信をセキュアにするため、SSH鍵を作成し、それを用いて通信を行います。

SSH鍵を作成する

Sourcetreeで“ツール”→“SSHキーの作成/インポート”を選択します。

すると以下のような“PuTTY Key Generator”という画面が出ます。
赤枠で囲った部分が“RSA”“2048”になっていることを確認して、“Geterate”をクリックします。

シークバーが出現したら、赤枠の部分をマウスでぐるぐるします(そうするとシークバーが動きます)。

鍵の生成が完了すると、以下のような画面が表示されます。
黒塗り+白文字の部分をメモしておきましょう。
メモしたら“Save private key”をクリックします。拡張子“.ppk”ファイルが生成されるので、任意の場所に保存します。

GitHubにSSH鍵をインポートする

以下URLからGitHubの設定画面を開きます。
https://github.com/settings/keys

以下のような画面が出たら、赤枠の“New SSH Key”をクリックします。

以下の画面で

  • Title:鍵の名前
  • Key:コピーした鍵をペースト
    し、“Add SSH key”をクリックします。

こんな感じで鍵が追加されていたらOKです。

Sourcetreeにペアの鍵を登録する

GitHubに登録した鍵とペアになる鍵をSourcetreeに登録します。
Sorcetreeの“ツール”→“SSHエージェントを起動…”をクリックします。

すると以下のようなダイアログが出るので、“はい”を選択します。

フォルダ選択画面が表示されたら、“SSH鍵を作成する”で作成した“.ppk”拡張子ファイルを選択します。
これでクローンができるようになりました。

GitHubのリポジトリをSourcetree経由でローカルにクローンする

“リポジトリを作る”の項目で作成したリポジトリを、ローカル環境にクローン(複製)します。

GitHubでクローンしたいリポジトリのページを開きます。
赤枠の中の、クローンしたいリポジトリを選択しクリックします。
今回は“gitfirst”を選択します。

以下のような画面が表示されたら、“Quick setup”欄をチェック。

  • 赤枠の“HTTPS/SSH”欄が“SSH”選択になっているかを確認
  • その隣の赤枠のURLをメモ
    以上の工程を行います。

Sourcetreeに移ります。
グレー部分の左から3つ目の“Clone”を選択します。

以下のような画面になったら、ボックスの中を入力していきます。

  • 1つ目:GitHubからコピーしたURL
    • ボックス下の“リポジトリタイプ”が“これはGitのリポジトリです”となっていればOK
  • 2つ目:クローンしたい場所(ローカル環境)
  • 3つ目:Sourcetreeタブに表示される名前
    以上が終わったら“クローン”をクリックします。

Sourcetree上で以下のような画面が出たらクローン完了です。

また、クローン画面の2つ目に入力したフォルダ内には“.git”という隠しフォルダが生成されています。

SSHエージェントの設定

このままではGitHub⇔ローカル環境のやり取りをするたびに鍵を読み込ませる必要が出てきてしまいます。
その手間を省くために、以下のような設定を行います。

Sourcetreeの“ツール”→“オプション”でオプション画面を表示します。

以下のような画面が出たら、“SSHクライアントの設定”の項目を確認します。

  • SSHキー:作成した“.ppk”ファイルの保存場所を指しているか
  • SSHクライアント:PuTTY/Plinkになっているか
  • “SourceTree起動時にSSHエージェントを起動します”にチェックがついているか
    確認出来たらOKを押します。

これで起動時にSSHエージェントが自動で起動されるようになりました。
SSHエージェントはSourcetree使用時には常駐させておきましょう。万が一終了させてしまったら、“ツール”→“SSHエージェントを起動…”をクリックすると再度起動することができます。

終わりに

いかがでしたでしょうか。どなたかのお役に立てれば幸いです。
ファイルのバージョン管理は、複数人で製品を作るときはもちろん、個人で開発するときも有用だと思いますので、これから開発始めるぞ!という方もぜひ導入してみてください。

TwitterやYoutubeも運営しておりますので、良ければそちらもチェックしてみてください!
https://twitter.com/comiLABOch2

YouTubeのvideoIDが不正ですhttps://www.youtube.com/channel/UCERzpud3HUtw10m9RsXPzHA?view_as=subscriber

ここまでお読みいただきありがとうございました!

Discussion