Windows上にTortoiseGitを導入し、GitLab上のリモートリポジトリに接続するまでの手順。
なお、リモートリポジトリには公開鍵認証によるSSH接続を行うものとする。
検証環境
- Windows10 Pro 1709 x64
- Git for Windows 2.17.1.2 x64
- TortoiseGit 2.6.0 x64
ダウンロード
以下のサイトからGitクライアントをダウンロードする。
https://git-for-windows.github.io/
以下のサイトからTortoiseGit本体と言語パックをダウンロードする。
https://tortoisegit.org/
Git for Windowsのセットアップ
TortoiseGitは裏でGit for Windowsを使用するため、先に入れておく必要がある。
インストール
ダウンロードしておいたGit for Windowsをダブルクリックで起動し、ライセンス情報を一読して次に進む。
インストールするコンポーネントは余計なものを入れたくないので、不要そうなものを外して次へ。
スタートメニューへの登録は特に変更せず、そのままの設定で次へ進む。
デフォルトエディターに関しては、特に使うこともないので"Use the Nano editor by default"を選択して次へ進む。
環境変数では"Use Git from Git Bash only"を選択して次に進む。
ここで"Use Git from the Windows Command Prompt"にしてしまうと、コマンドプロンプトがGitBashに乗っ取られて非常に使いづらくなる。
HTTPS接続時に使用するSSLコンポーネントは、"Use the OpenSSL library"を選択して次へ進む。
改行コードの変換動作については、勝手に改行コードを変えてほしくないので"Checkout as-is, commit as-is"を選択して次に進む。
ターミナルエミュレータの選択は、「Use MinTTY」を選択して次に進む。
その他のオプションについては特に変更せず、そのままインストールを開始する。
インストールが完了したらインストーラーを終了する。そのまま次の作業に進みたいので、余分なチェックは外しておくこと。
初期設定
スタートメニューの中に追加されている"Git Bash"を起動する。
GitBash上で以下のコマンドを実行し、自分の情報を設定しておく。コミットなどの際にこの情報がデフォルトで使用されるようになる。
$ git config --global user.email "メールアドレス"
$ git config --global user.name "名前"
$ exit
TortoiseGitのセットアップ
インストール
ダウンロードしておいたTortoiseGitをダブルクリックで起動し、次に進む。
SSHクライアントは"TortoiseGitPlink..."を選択して次に進む。
インストールが完了したら、インストーラーを終了させる。日本語化をすぐに行う予定なので、余分なチェックボックスは外しておくこと。
日本語パッケージのインストール
ダウンロードしておいた日本語パッケージをダブルクリックで起動して次に進む。
セットアップが完了したら"Configure TortoiseGit to use this language"にチェックを入れ、セットアップを完了する。
公開鍵の生成
今回は公開鍵認証によるSSH接続を行うため、事前にクローン先コンピューターにて公開鍵を生成する。
プログラム一覧のTortoiseGitの中にある"PuTTYgen"を起動し、キー生成を開始する。
上部のゲージがいっぱいになるまで、空白部分上でマウスカーソルを動かす。
公開鍵が生成されて表示されるので、すべてコピーしておく。その後"Save private key"を押して秘密鍵の保存ダイアログを開く。
ちなみに"Key passphrese"にパスフレーズを入力することで、秘密鍵にパスワードを掛けることができるが今回は空白とした。
パスフレーズをかけていない場合警告が出るが、無視して"はい"で進める。
公開鍵をコピーし忘れた場合
PuTTYgenを起動し"Load"から秘密鍵を読み込ませると、公開鍵を再確認できる。
参考:GitBashを使った鍵生成
※TortoiseGit内蔵のPuTTYで認証する際には結局PPK形式に変換する必要があるため、わざわざこちらの方法で生成する必要はない。
GitBashを起動し、以下のコマンドを実行する。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/USERNAME/.ssh/id_rsa): (空白)
Enter passphrase (empty for no passphrase): 任意のパスフレーズ(空白可)
Enter same passphrase again: 任意のパスフレーズ再入力(空白可)
...
$ ls .ssh
id_rsa id_rsa.pub known_hosts
$ cat .ssh/id_rsa.pub
公開鍵文字列
id_rsa.pub
が公開鍵なので、catなどで中身を表示してコピペすると良い。
参考:Linux(RHEL)での鍵生成
基本的にGitBashと同じコマンドで良い。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/USERNAME/.ssh/id_rsa): (空白)
Enter passphrase (empty for no passphrase): 任意のパスフレーズ(空白可)
Enter same passphrase again: 任意のパスフレーズ再入力(空白可)
...
$ ls .ssh
id_rsa id_rsa.pub known_hosts
$ cat .ssh/id_rsa.pub
公開鍵文字列
GitLabへのSSH公開鍵登録
GitLabのアカウントに公開鍵を登録する。なお、公開鍵登録はGitHubでも可能。
GitLabログイン後の画面の右上にあるアバターを展開し、"Settings"を開く。
SSH鍵登録画面が表示されるので、"Key"部分に公開鍵文字列を貼り付け、Titleに好きな名前を入力して"Add key"を押す。
GitLab上のリモートリポジトリをクローン
GitLabリポジトリの接続文字列をコピーする。なお、HTTPではなく"SSH"とすること。
エクスプローラー上の適当なところを右クリックし、「Gitクローン(複製)」を選択する。
"URL"の部分に接続文字列を貼り付け、"Putty認証キーのロード"にチェックをいれて秘密鍵ファイルを指定し、"OK"でクローンを開始する。
クローンに成功するとリポジトリ用フォルダが作成され、その中にチェックアウトされる。
以上