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 インストール」は、こちらにまとめていますので、
こちらを参考にしてみてください。
気をつけることは、インストールの途中で以下の選択についてです。
- 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 のインストール」は、こちらにまとめていますので、
こちらを参考にしてみてください。
気をつけることは、インストールの途中で、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 をクリックすると起動できます。
必要があれば、「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のものに設定しておきます。