13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitLab.com上のリポジトリをTortoiseGitでクローンする方法

Last updated at Posted at 2017-10-17

GitHubと同じ感じでHTTPS接続でクローンしようとしたら出来なかった(何故か認証が通らない?)ので、SSH接続でクローンする方法をまとめた。

検証環境

  • Windows10 Pro 64bit
  • TortoiseGit 2.5.0.0

GitLab.comにリモートリポジトリを作成

既に作成済みとし、詳細は割愛する。

TortoiseGit環境のセットアップ

既にセットアップ済みとする。セットアップ方法は以下のエントリを参照されたし。
https://qiita.com/SkyLaptor/items/6347f38c8c010f4d5bd2

SSH鍵を生成する

TortoiseGitがインストールされているPCにて、公開鍵と秘密鍵を作成する。

TortoiseGitのプログラム一覧中の "PuTTYgen" を起動する。
run_puttygen.jpg

"Generate" を押し、鍵の作成を開始する。
start_createkeypair.jpg

緑のバーがいっぱいになるまで、空白の領域で適当にマウスをぐりぐり動かす。
generate_fingerprint.jpg

公開鍵と秘密鍵が作成されるので、 "Save private key" を押して好きな場所に秘密鍵ファイルを作成する。
なお秘密鍵にパスフレーズを設定していないため警告が表示されるが、"はい" でスルーする。
save_seckey.jpg

warning_passphase.jpg

備考: CentOS上でSSH鍵を作成する

# ssh-keygen -t rsa
# less .ssh/id_rsa.pub

GitLab.comにSSH鍵を登録する

生成した鍵のうち、公開鍵をGitLab.comに登録する。

GitLab.comにログインし、ユーザー設定からSSH Keysを開く。
"Add an SSH key" にて、"Key" の入力欄には公開鍵文字列(PuTTYgenの画面に表示されているのを丸ごとコピペ)を入力し、"Title" には任意のタイトルを入力して "Add key" で登録を完了する。
add_pubkey.jpg

リポジトリのSSH接続パスを控える

クローンしたいリポジトリを開くと、SSH接続パスを確認することができる。
パスの隣にあるボタンでクリップボードにコピーできるので、コピーしておく。
check_repossshpath.jpg

リポジトリをクローンする

パソコン側にて、クローンしたリポジトリを置きたいフォルダを開き、適当なところを右クリックして "Git クローン(複製)..." を選択する。

クローン時の設定が開くので、 "URL" には事前に控えて置いたSSH接続パスを入力し、"Putty認証キーのロード" では生成しておいた秘密鍵ファイル(*.ppk)を指定する。
正しく入力したら、"OK" でクローンを開始する。
start_clone.jpg

接続先のホストを信頼するかどうか聞かれたら、確認して "はい" を押す。
trust_gitlabreposv.jpg

クローンが開始されるので、完了まで待機する。
wait_clone.jpg

以上

13
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?