Last-modified: 2014-08-20 (水) 01:37:56
SourceTree/GitLabで使いたい

概要

GitLab上のリポジトリをSourceTree(Windows)で操作します。
Windows上のGitクライアントの中では、一番使いやすいと思います。
30日の試用期間以降は、メールアドレスだけの登録が必要になります。

WS000006.PNG

手順

  1. SSHでアクセスするために鍵を作成します。
    鍵はどこで作っても良いですが、SourceTree(Windows)なので、puttygen.exeで作るのが簡単です。
    SourceTreeからでも[ツール] - [SSHキーの作成/インポート]より呼び出せます。
    pagentを使うのでどちらでも大差ないですが、他のWindows環境で使うことも考えるとパスフレーズは無しの方が使いやすいです。
  1. 公開鍵をGitLabへ登録します。
    ログインし、[Edit Profile settings] - [SSH keys] - [Add SSH Key]
    ここに公開鍵の内容を貼り付けます(Titleはなんでも良いです)

    内部的には、ここのキーが/home/git/.ssh/authorized_keysに追加されます(GitLab/Debianへのインストールで構築した場合)
    SSH経由の取得は、ssh://<ユーザー名(git)>@url:<ポート番号(22以外なら)>/...となるので、gitユーザーでSSHログインして操作できるという寸法です。

    WS000001.PNG
  1. プロジェクトページへ移動し、SSHのパスを取得します。
    WS000002.PNG
  1. SourceTreeの設定をします。
    [ツール] - [オプション]を開きます。
    [全般]では、デフォルトユーザー情報、SSHクライアントの設定をします。
    [SSHキー]を入れ、[SouceTree起動時にSSHエージェントを起動]を有効にすると、SourceTree起動時に当該キーが登録された状態でpagentが起動します。
    WS000004.PNG
    [Git]では、最低限[SSL証明書の検証をしない]のオフを確認します。
    WS000005.PNG
  1. SourceTreeで、[新規/クローンを作成する] - [元のパス/URL]に上記パスを指定して[クローン]とするだけです。
    HTTPSでも可能で、この場合はSSHキー周りの設定はスキップできますが、初回にGitlabのユーザーとパスワードを求められます。
    HTTPSでpushに失敗する場合は、Git/error RPC failed; result=18, HTTP code = 200iBをすると解消します。

補足

検証時の環境