以前社内用GitLab環境を構築しましたので、Windows10にGitクライアントをインストールしていきます
使用するクライアントソフトは、subversion時代にお世話になったTortoiseのGit版であるTortoiseGitにしました
まだGitLabの設定を実施していない方は下記の手順が参考になるかと思います。社内など閉鎖ネットワークでGitを使用するのに便利なGitLab Self-Managedをサーバーにインストールしています
https://ramendelicious.com/2024/08/07/gitlab-self-managed%e3%82%92almalinux9%e3%81%ab%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%9f%e3%80%90gitlab-%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%b7%a8%e3%80%91/

Git for Windowsのインストール
TortiseGitを使うためにはGit for Windowsが必要なのでインストールします
何故Git for Windowsが必要?
すでにGitLab Self-Managedインストールしたサーバー用意しているのにクライアント側にGitを入れなきゃいけないの?と思われる方もいるかもしれませんが(注:私だ)、ローカルリポジトリを作成したり操作したりというのはGitがないとできません
GitLabではリモートリポジトリの作成や管理ができますが、それだけだと本領発揮できない、クライアントのGitと連携することで各ローカルリポジトリとやり取りしてGitとしてやりたいことができるようになる、そんな感じでしょうか(ふわっとした解釈ですいません)
Gitの解釈についてはこちらを参考にさせていただきました

インストール作業はこちらを見て進めていきます

まずは以下のサイトからインストーラーをダウンロードします
※ 少し待ちが発生します
インストーラーを実行します
しばらく画面の通りに進めていきます
※ インストール場所やコンポーネントはデフォルトのまま進めていきます

途中エディター選択の画面があります
Vimのまま進めますが、変更したい場合は変更してください

masterのブランチ名を選択します
昔は「master」が良く使われていましたが、今は「main」が主流のようなので、「Override~」の方を選択したうえで「main」と入力して次へ進みます

Pathの環境変数について選択します
デフォルトで進めます

SSHクライアントの設定です
バンドルされたものを使おうと思うのでそのまま次へ進みます

HTTPSライブラリの設定です
デフォルトで良さそうなのでそのまま進みます

改行コードの自動変換に関する設定です
デフォルトの選択肢はチェックアウト時にWindows用にLFをCRLFに変換し、コミット時はLFに戻します
本環境ではGitLabはLinuxで構築してますのでデフォルトの設定が適しているのでそのまま進めます
選択肢の内容はこちらのサイトが詳しかったです
https://qiita.com/mmake/items/63a869272c0dfa1d50a4

コンソールの設定です
デフォルトのまま進みます

pullのふるまいについての設定です
通常の使い方をしたいのでデフォルトのまま進みます

認証ソフトの設定です
デフォルトのまま進みます

拡張機能の設定です
デフォルトは上しかチェックが付いてないと思いますが、両方チェックして次へ進みます

試験機能の設定です
両方ともチェックせず次へ進みます

インストール完了です

TortoiseGitインストール
こちらの手順を参考にしました

公式のサイトに飛び、インストーラーをゲットします
同じページ内にある日本語パックもダウンロードしておきましょう
インストーラーをダウンロードしたら実行しましょう
画面に表示されるとおりに進めていきます

途中分岐がありますが、特別なことがない限り変えないで良さそうなのでデフォルトで進めます

インストールフォルダの変更はせずそのまま進みます

インストールします

インストール画面を「Finish」で閉じます

言語設定画面が表示されます
画面そのままで手順の最初にインストールした日本語パッケージインストーラーを実行します

画面に沿って進めていきます

インストールが完了したら「完了」をクリックします
※ チェック入れたら自動で設定変えてくれそうだったのでチェックを付けてますが、なくても大丈夫そうです

TortoiseGitの言語設定画面に戻ります
「Refresh」をクリックすると日本語が選べるようになりますので、日本語にしたうえで「次へ」をクリックします

なぜか画面が英語のままですが進めます

先ほどインストールしたGitのパスがGit.exe Pathに入力されていることを確認し、次へ進みます

コミットするときに使用される名前とメールアドレスを入力します

認証/資格情報のストアです
SSH鍵ペアは、後で作成します
資格情報の設定もそのままで大丈夫かと思います
特にいじらずにそのまま「完了」をクリックします

GitLabからTortoiseGitリポジトリをクローンする
インストールだけで割と手こずりましたが、やっと目的のリポジトリクローン作業を実施していきます
GitLabでリモートリポジトリは作成済想定となりますので、まだ作成していない方は先に実施してください
本手順はこちらを参考に進めていきます

SSH鍵ペアの作成
まずはPuttyでSSH鍵を作成します
Puttyで鍵作成
Windows10スタートメニューのプログラム一覧から「PuTTYgen」を開きます
※ TortoiseGitを開いた中にあります

「Generate」ボタンをクリックします
※ しばし待ちが発生します

嘘のようなホントの話ですが、下の画像のピンク色枠内を上の進捗バーがすべて緑になるまでマウスをドラッグ&ガシャガシャ動かしまくってください
※ ガシャガシャしないと、バーが進まず永遠に終わりません

ガシャガシャお疲れ様でした
「Save private key」をクリックして秘密鍵を保存します

パスフレーズなしで保存するか問われます
そのまま「はい」をクリックします
※ セキュリティ気になる人は設定してください

適当な名前で適当な場所に保存します
そのまま開いているPuttyの画面に戻り、表示されている公開鍵の文字列をコピーします

公開鍵の登録
Puttyの公開鍵の文字列をコピーしたらGitLabにアクセスします
左上のユーザーアイコンをクリックし、「プロファイルの編集」をクリックします
左ペインから「SSHキー」をクリックします

以下を設定します
※ 設定後、「キーを追加」をクリックしてください
キー:先ほどコピーした文字列を貼り付ける
タイトル:何でもよいです
使用タイプ:デフォルトで大丈夫です
有効期限:デフォルトにしますが、任意で変更してください

リモートリポジトリをクローン
クライアント上(本環境だとWindows10)にクローンの格納先フォルダを作成します
名前は何でもよいです
フォルダを右クリックして、「Gitクローン(複製)」をクリックします

URLにはGitLabのリモートリポジトリの情報が必要になりますので、一旦画面そのままでGitLabへアクセスします

GitLabにアクセスし、プロジェクトを開きます
クローンしたいリポジトリのプロジェクト名をクリックします

「コード」をクリックし、「SSHでクローン」のクリップボードボタンをクリックしてURLをコピーします

開きっぱにしていたTortoiseGitのURLにコピーしたURLを貼り付けます

次にPutty鍵のロードに秘密鍵を設定します
先ほどダウンロードしておいた秘密鍵のパスを参照します

警告が出ますがそのまま「はい」をクリックします

エラーが出なければ完了です

リポジトリ先に設定したフォルダを見ると、リモートリポジトリに格納していたREADMEが確認できます

TortoiseGitではコミット状況がわかるアイコン(オーバーレイアイコン)が表示できます
(ファイルやディレクトリに緑のチェックマーク✅や青の+マークなどが出ます)
状況が一目でわかるので導入しておきたいものです
本環境ではクローン直後は表示されていませんでしたが、しばらく時間を置いた後に勝手に表示されるようになっていました
レジストリの設定によっては表示されないことがあるみたいなので、見えない場合は下記サイトを参考にしても良いかもしれません(オーバーレイアイコンは15個までしか表示できないので、Tortoiseの優先度によっては表示されないらしい)
https://memooot.hateblo.jp/entry/2023/05/16/222603
※ レジストリ変更は間違えるとOS起動できなくなったりするので、設定が必要かをよく検討した上、設定変更方法をよく確認して実施をお願いいたします
まとめ
Subversionに比べるとGitの方が導入に時間がかかったなあと思いました
この後TortoiseGitを使ってリモートリポジトリへプッシュしたり色々操作を試してみようと思います
コメント