ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

WindowsからGitLab

何があった

 GitLab使う上で必要そうな知識まとめたほうの記事のまとめでも書いてたけど、windowsからGitとGitLabでソース管理することになったので、そのインストールからごく基本的な使い方までまとめまとめる。
 GitLabのほうの基本的な設定は前回の記事で終わってるってことにします。

まず環境

 使ったソフトは次みたいな感じ。

  • windows 7 Professional SP1(64bit)
  • msysGit (version 1.7.11-preview2010710)(32bit版のみ)
  • TortoiseGIT 1.7.14.0(64bit)

msysgitもTortoiseGitもググればすぐに出てくるけど一応URLを

 とりあえずどっちも最新版を引っ張ってくれば問題なさげ。ただ、TortoiseGitは32bitと64bitがあるので注意。
Tortoiseの読みはトータスとかそんな感じ。
ところで、GitとmsysGitの違いがよくわかってないんですけど、なんなんでしょう?

インストール

 msysgitインストールしてTortoiseGitインストールする。
インストーラーのnextボタン連打するだけ。
msysgitのほうはsshどうするかとかの設定変えれるみたいなので、すでにssh使ってるよーって人はチェック。解説しませんけど。
 それから、日本語化についてですが、この記事書いてる時だとwindows7版の場合うまくいかないみたいなのでスルーします。
 ついでに、必要ないかもしれませんが、インストール後一度再起動したほうがいいかもしれません。svnのときにそれが原因で苦汁をなめさせられた気がするのと、アイコンのオーバーレイが再起動しないとかからない気がするのが理由です。

初期設定

 どっちも初期設定は無い。コミットするだけなら設定開かなくてもできる。

鍵を作って登録する

 けど、そういうわけにもいかず、リモートリポジトリにプッシュとかしようと思うと、それなりに準備が要ります。
 ということで、ますはRSA公開鍵を作ってGitLabに登録するまで。生成する鍵は正確にはPuTTY形式なんですがまぁ何だっていいです。
 手順は次の感じで

  • TortoiseGitのインストールディレクトリ内のbinディレクトリ内にあるputtygen.exeを起動。デフォルトだと"C:Program Files\TortoiseGit\puttygen.exe"
  • Generateボタンをクリックしてマウスをシェイク。フラッシュゲーな何かみたい。
  • すると生成された公開鍵と、パスフレーズの入力ボックスが表示される。
  • パスフレーズを入力したらSave private keyで適当な場所に秘密鍵を保存
  • この段階ではPuTTY閉じないほうがいいです

 これで、PuTTY形式の秘密鍵が生成されました。
次はGitLabに公開鍵を登録

  • GitLabにログイン
  • ユーザーページのSSH keysのAdd new
  • 適当な名前入れてさっきのPuTTY Key Generatorのウィンドウに表示されてるRSA公開鍵をまるっと全てコピー
  • Saveをクリック

 これで鍵の登録までは完了。
秘密鍵生成したところで安心してウィンドウ閉じちまった! って人はまたウィンドウ開いてLoadボタン押して生成した秘密鍵をロードしましょう。公開鍵が表示されます。

Pagentに秘密鍵を登録

 僕はここで躓きました。はい。
 この後はリポジトリ作ってファイル追加してコミットしてリモートリポジトリにコミットして・・・って感じなんですが、その前にひとつやっておかないといけないことがあってそれがPagentへの秘密鍵の登録になります。なぜかこれやらないとうまくいかないです。正直"魔法のおまじない"だと思ってます。
 やり方は簡単で、タスクトレイにPagentがいるはずなので、そいつを右クリックして"Add key"を選択。ファイル選択ダイアログが出てくると思うので、さっき生成した秘密鍵を開く。もし、タスクトレイにPagentがいない場合は、puttygen.exeの隣にpagent.exeがいるのでそいつを起動。
 あとは全部Git的なお話。

リポジトリを作成してリモートリポジトリにプッシュ

 ちゃんとインストールできてればwindowsのシェルメニューにカメさんのアイコンのTortoiseGitが追加されているはずです。基本的に操作はここで行います。
 さて、まずはリポジトリを作りましょう。ここではすでに管理したいディレクトリが存在するものとします。無いって人は適当なディレクトリ一個作って中に"README"なんてファイルをぶち込むといいんじゃないでしょうか。

  • 管理したいディレクトリ(名前はsampleとしましょうか)を右クリックして"Git Create repository here..."をクリック。
  • Bareリポジトリにするかどうか聞かれるので、チェックせずにOK
  • 今度は"ディレクトリからじゃないけどclone/exportしていい?"みたいなことをな何故か聞かれます。とりあえずProceedをクリック。
  • これでsampleディレクトリの中に.gitディレクトリが作成されます。
  • 今度はリポジトリにファイルを追加します。sampleディレクトリ内のリポジトリに含めたいファイルをCtrlとかshiftでまとめて選択してTortoiseGitのメニューからAdd...
  • どのファイルを含めるか選択するダイアログが表示されますが、全部チェック入れてOK。
  • ファイル追加の結果が表示されるのでそのままCommiteをクリック。
  • ユーザー名とメールアドレス入れろって怒られるので言われるままに入力。
  • 入力したら今度はコミット画面。上半分くらいを占める大きいテキストボックスはコメントの入力ボックス。ここに適当なコメント入れてOK
  • コミットのプログレスが表示される。終わったらPush...をクリック。
  • 今度はプッシュ画面。まずはリモートリポジトリを登録しましょう。
  • Destinationグループ内のManageボタンをクリック
  • リモートリポジトリの管理画面が開くので、必要事項を入力。前回の記事に合わせるとたぶんこんな感じ
Remote : sample
URL : git@<HOSTNAME>:sample.git
Putty Key : さっき作った秘密鍵のパス
  • リモートリポジトリを設定したらOKでプッシュダイアログに戻る。コンボボックス内に設定したリモートリポジトリ名が入ってるはずなのでそのままOK
  • プログレスが表示される。これでプッシュまで完了

リモートリポジトリが出来上がってから先の作業

 基本的には右クリックしてGit sync...とかTortoiseGit内のpullとかpushでOK。
あとは大体Gitの使い方の問題。

感想

 ssh関連で躓いたけど設定終わっちゃえば楽ですね(小並感)