GitHubの環境構築 - adempierejapan/ADem390JapanEdition GitHub Wiki

GitHubの環境構築

ここでは、GitHubのソースをやりとりする環境をWindows上に構築する方法を説明します。
一例ですので、自分のやり方でしたいかたはそれでやっていただければと思います。

ここでは、「Git For Windows」 と 「Tortoise Git」 をインストールして、
Windows上で、GitHubのソースをCloneしたり、Commit, Pushしたりする環境を構築する方法を説明します。

「Git For Windows」は、Windows上でGitのコマンドを実行できるツールです。
「Tortoise Git」は、Windowsのエクスプローラ上で、右クリックメニューから、
GitのCloneやCommit,Pushなどいろいろ実行できるツールです。

また、この2つのツールをインストール後のSSHの設定についても説明します。

※このDocumentは2018年5月現在の内容です。

GitHubアカウントの作成

これは、ユーザ名、メアド、パスワードがあれば、簡単に登録できます。
詳細は、ググルなどして登録してみてください。
https://github.com/

ひとつ気をつけることがあるとすれば、アカウント名が自分のGithubページのURLになるということです。
回避方法はあるのかもしれませんが、基本そうなるようです。

たとえば、「NorihiroMaeda」というアカウントを作成すると、URLは、
https://github.com/NorihiroMaeda
になります。

Git For Windowsインストール

「Git For Windows」をインストールします。
「Git For Windows」は、Windows上でGitのコマンドを実行できるツールです。

「Git For Windows インストール」は、こちらにまとめていますので、
こちらを参考にしてみてください。

Git For Windows のインストール

気をつけることは、インストールの途中で以下の選択についてです。

  • Use Git from Git Bash only
    Git のコマンドを Git Bash でしか使わないように設定する。
  • 改行の変換について
    Cloneなどのときに、改行コードを変換するかどうかの設定を選べます。
    ここは好みがわかれるかもしれません。
    私は、変換しないでインストールしました。
    「Checkout as-is, commit as-is」という選択肢です。
       

Tortoise Gitインストール

「Tortoise Git」をインストールします。
「Tortoise Git」は、Windowsエクスプローラ上で右クリックして、Git操作ができるツールです。

「Tortoise Git のインストール」は、こちらにまとめていますので、
こちらを参考にしてみてください。

Tortoise Git のインストール

気をつけることは、インストールの途中で、SSHにPuttyではなく、OpenSSLを選択することです。

SSHの設定

GitHubと接続するためには、SSHキーを使用します。
ここでは、SSHの設定について説明します。
公式ドキュメントはこちらになりますので、こちらも参考にしてみてください。
https://help.github.com/articles/connecting-to-github-with-ssh/

1. SSHキーの作成

まず、SSHキーを作成します。
公式ドキュメントはこちらです。
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/ 

先ほどインストールしたGitBashを起動します。
スタートメニューから、Git => Git Bash をクリックすると起動できます。

gitbashimage

必要があれば、「cd」コマンドで作業ディレクトリを移動してください。
(このあとのコマンドで、作業ディレクトリに、鍵が作成されます。)

ここで、次のコマンドを実行します。
(emailのところは、自分のemailを入力してください。)

 ssh-keygen -t rsa -b 4096 -C "[email protected]"  

次にファイル名を聞かれるので入力します。
私は、「github_maeda」を入力しました。
(デフォルトでは、「id_rsa」というファイル名になる。
複数アカウントの運用などを考えるとファイル名を変えておいたほうがいい。)

次に パスフレーズを入力します。
空でも構いませんので、私は空にしました。

これで、作業ディレクトリに、SSHキーの公開鍵(.pub拡張子)と秘密鍵の2ファイルが作成されます。
私は、ファイル名を「github_maeda」にしたので以下の2ファイルができました。
* github_maeda.pub(公開鍵)
* github_maeda(秘密鍵)

2. GitHubのアカウント設定ページでSSHの設定

作成した公開鍵の内容を、GitHubに登録します。
公式ドキュメントはこちらになりますので、こちらも参考にしてみてください。
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

GitHubに自分のアカウントでログインします。
Settingsページを開きます。

左のメニューから、SSH and GPG keysをクリックします。
New SSH keyボタンをクリックします。

Titleには、SSHキーに対するわかりやすい名前をつけておきます。
Keyには、公開鍵の内容を貼り付けます。
ex.
私の場合は、github_maeda.pub ファイルをテキストエディタで開き、すべてをクリップボードにコピーして、貼り付けました。

Add SSH keyボタンで登録します。
パスワードを入力して登録完了します。

SSHディレクトリの設定

自分のパソコンにSSHディレクトリの設定をします。

1. まず、ユーザディレクトリに「.ssh」ディレクトリを作成します。

 ex.
  私の場合は、ユーザディレクトリ「C:\Users\Maeda」に、「.ssh」ディレクトリを作成しました。
  「.」ではじまるディレクトリが作成できない場合があるので、
  その場合はコマンドプロンプトから、

mkdir .ssh

を実行するといいです。

2. さらに、「config」ファイルを作成します。

 さきほど作成した「.ssh」ディレクトリに、「config」という名前でファイルを作成します。

3. configファイルを編集します。

以下のような内容を入力してください。
XXXXの部分は、自分の設定にあうように入力してください。

Host XXXX1
  User git
  Port 22
  HostName github.com
  IdentityFile XXXX2
  TCPKeepAlive yes
  IdentitiesOnly yes

XXXX1
 この設定の名前です。
 接続のときのアドレスとして使用されます。
 私の場合は、「github_maeda」としました。

XXXX2
 秘密鍵ファイルの絶対パスです。
 私の場合は、「C:\Users\maeda.ssh\github_maeda」としました。

私の設定は、以下のようになりました。

Host github_maeda  
  User git  
  Port 22  
  HostName github.com  
  IdentityFile C:\Users\maeda\.ssh\github_maeda  
  TCPKeepAlive yes  
  IdentitiesOnly yes  

4. 接続テスト

ここまでで、SSHの設定は完了しました。
接続できるかチェックしてみましょう。
公式ドキュメントはこちらになりますので、こちらも参考にしてみてください。
https://help.github.com/articles/testing-your-ssh-connection/

スタートメニューから、「Git Bash」を起動します。
コマンドを実行します。

ssh -T XXXX

 ※XXXXの部分は、設定ファイルで入力した設定名を入力します。
 私の場合は、「ssh -T github_maeda」と入力しました。
  警告が1度出ますが、yesを入力すると接続テストが実行されます。
以下のようなメッセージが出れば、接続成功です。

Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

これで、Windowsエクスプローラ上で、右クリックして、
TortoiseGitのコマンドメニューから、Git操作がおこなえると思います。

うまく接続できない場合は、以下のページを参考にしてみてください。
https://help.github.com/articles/error-permission-denied-publickey/

設定ファイルがきちんと記述されているか、キーの作成方法を失敗していないかなど、
もう一度、確認してみてください。

5. Tortoise GitからクローンするURL

Windowsエクスプローラ上で、右クリックすると、Tortoise Gitのクローンメニューが表示されます。
これを選択すると、CloneのURLを入力しなければいけませんが、そのURLは以下のように記述できます。

例えば、本リポジトリのクローンは、以下のようなURLになります。

ssh://XXXX1:/adempierejapan/ADem390JapanEdition

XXXX1は、SSHの設定名を記述します。
私は、設定名を「github_maeda」としているので、以下のようなURLでアクセスできました。

ssh://github_maeda:/adempierejapan/ADem390JapanEdition

ちなみに、Wikiの場合は、以下でアクセスできます。

ssh://github_maeda:/adempierejapan/ADem390JapanEdition.wiki

※Tortoise Gitは、Puttyではなく、OpenSSHを使用する設定にしておかなければいけません。
 TortoiseGit=>Settings=>NetworkのSSHのEXEをGitBashのものに設定しておきます。