Windowsクライアント端末にGitlabクライアントツールTortoiseGitを導入します。TortoiseGitはGuiでGitリポジトリを操作できるOSSのソフトウェアです。
GitリポジトリをCLIで操作することもできますが、Guiツールを使用した方が直感的でわかり易く学習コストも低くすることができます。今回対象とするリポジトリは前回の記事でGitlLab上に作成したプロジェクトです。
目次
1.Git Windowsクライアント環境構築
TortoiseGitを使用するには、「git for Windows」を導入する必要があります。
以下のソフトウェアをwindows端末にインストールします。
- Git for Windows
- TortoiseGit
- 64bit版インストーラー(2018/4/5時点の最新)
- 日本語パック64Bit(2018/4/5時点の最新)
2.Gitlab接続用SSHキーの作成
Gitlab接続に使用するSSHキーをTortoiseGitをインストールしたWindows端末で作成します。
(1)SSHKEY作成開始
スタートメニューにあるTortoiseGitグループのPuttyGenを起動しメニューの[Key] → [Generate Key Pair]を選択します。下記画面画表示されるのでPuttyGenの画面内でマウスをランダムに動かしてKeyPairの作成を促進します。
作成が終了すると下記画面が表示されます。
(2)Gitlab用SSH公開キー保存
PuttyGenの画面内「Public key pasting into OpenSSH authorized_keys file」
欄のリストボックス内にある文字列をマウスで全て選択し右クリックでコピーします。
新規ファイル、SSHKEY.txtを作成し貼り付け、上書き保存をします。
(3)キーペアの保存
作成されたキーのKeycoment欄に使用するユーザのメールアドレスを設定します。パスフレーズを入力します。パスフレーズは秘密鍵使用時に必要となるので忘れないように書き留めておきます。
公開鍵と秘密鍵を下記の通り保存します。
- [Save Public Key] ボタンをクリックし「id_rsa.pub」として公開鍵を保存
- [Save Private Key] ボタンをクリックし「id_rsa.ppk」として秘密鍵を保存
3.Gitlab接続用SSHキー登録
作成したSSHキー(SSHKEY.txtに保存した文字列)をGitlabサーバに登録します。
(1)Gitlabログイン
①Gitlabに作成したユーザ―「vba_memb」でログインします。ログイン後下記初期画面が表示されますので右上「設定」を選択します。
②設定画面で「SSHキー」をクリックします。
(2)SSHキー登録
先程保存したSSHKEY.txtを開いてテキストを全てクリップボードにコピーし画面に貼り付けます。
「キーを保存」ボタンをクリックしSSHキーを登録します。これでクライアントからGitlabのリポジトリにSSH公開鍵認証で接続できるようになりました。
4.TortoiseGitからのGitlabリポジトリ操作
SSH公開鍵認証の準備が完了したのでToroiseGitからリポジトリに接続し操作できるか確認します。
(1)SSH接続用URL取得
Gitlabにユーザー「vba_memb」でログインし作成したプロジェクト「vbacom」を選択します。画面内の中央右「クリップボードにコピー」アイコンを選択しSSHパスをコピーします。
下記クリップボードの内容を後で使用できるように適当なテキストファイルに保存しておきます。
例)ssh://git@gitlab.hoge3.com:10022/vba/vbacom.git
(2)Gitクローン
①Windowsのエクスプローラを開きGit作業フォルダ上に移動します。コンテキストメニュー(右クリックメニュー)から「Gitクローン(複製)」を選択します。
②ダイアログが表示されるので、以下を設定します。
- URL:(1)でコピーしたSSHパスをコピーして貼り付け
- Putty認証キーのロード:作成したキーペアの秘密鍵を設定
③設定後「OK」ボタンをクリックすると下記パス不レース入力画面に遷移しますのでキーペア作成時に設定したパスフレーズを入力します。
④これで対象リポジトリが作業フォルダにクローンされます。クローンが終了すると以下の結果画面が出力されます。「閉じる」ボタンをクリックし画面を閉じます。
⑤クローンリポジトリ確認
以下の通りクローンしたフォルダ下にGitlabで作成した「readme.md」が存在していることが確認できます。
(3)規定のユーザ―情報設定
リポジトリフォルダの「vbacom」上で右クリックしコンテキスメニューの[Tortoisegit]→[設定]を選択します。以下の設定を変更します。
- 設定のでどころ:「ローカル」に変更
- 名前:「vba_memb」に変更
- メール:「vba_memb@hoge3.com」に変更
- 引き継ぐのチェック3箇所:全てチェックを外す
上記設定後に「OK」ボタンをクリックします。
これでリポジトリpush時の既定ユーザ―が上記設定値に変更されます。
(4)リポジトリにファイルを追加
以下の手順でGitlabリポジトリにファイルを追加します。
①追加対象ファイルを上記ワーキングフォルダにコピーします。
②コンテキストメニューから「TortoiseGit」を選択しサブメニューから「追加」を選択します。
③追加後に下記確認画面が表示されるので「OK」をクリックします。
④コンテキストメニューから「Git コミット」を選択します。
⑤ダイアログが表示されるのでコメントを入力して「コミット」ボタンをクリック
⑥コミットが完了すると「プッシュ」ボタンが表示されるので「プッシュ」ボタンをクリックします。
⑦下記画面が表示されるのでそのまま「OK」ボタンをクリックします。
⑧プッシュが完了すると下記画面が表示されます。これで追加したファイルがサーバの対象リポジトリに追加されました。
(4)リポジトリにフォルダを追加
同様に以下の手順でGitlabリポジトリにフォルダを追加できます。
①ワーキングディレクトリに「cls」フォルダを作成します。
②「cls」フォルダにclsファイルを追加します。
③「cls」フォルダを選択しコンテキストメニューから「Git コミット」を選択します。ダイアログが表示されるのでコメントを入力します。フォルダ内のファイルもコミットする場合は対象ファイルにチェックを入れます。「コミット」ボタンをクリックします。
④ファイル追加時と同様に確認画面から「プッシュ」ボタンをクリックします。これで追加したフォルダとフォルダ配下のファイルがサーバの対象リポジトリに追加されました。
5.masterブランチマージ
今までの手順ではデフォルトのdevelopブランチにファイルやフォルダが追加されましたがmasterブランチは作成時のままです。ここではGitlabに管理者でログイン(masterブランチにpushできるのは管理者のみの為)しdevelopブランチをmasterブランチにマージします。
(1)マージリクエスト
①プロジェクトの「マージリクエスト」メニューから「新しいマージリクエストを作成」をクリックします。
②マージ元ブランチを[develop]マージ対象ブランチを「master」として「ブランチを比較して続行」をクリックします。
③マージ元をPushされたブランチ、対象をマージ先のブランチとし「マージリクエストを送信」をクリックします。必要があればコメントを記述します。
④次ページで承認待ち画面になるので問題無ければ、「マージリクエストを承認」をクリックします。
⑤以下のように「マージ済み」が表示されればマージは終了です。
⑥以下の通りmasterブランチを確認するとdevelopブランチの修正が反映されていることがわかります。
6.参考にさせて頂いたサイト
windows TortoiseGitでGitlab(Ubuntu16.04)を使う方法のまとめ [3]クライアント側(TortoiseGit)編(開発memo様)
Windows環境:TortoiseGitでGitLab/GitHubのリポジトリをクローンする(埼玉大学大学院 理工学研究科研究部 様)
ありがとうございます。