Windows環境でGitを利用する

水曜日 , 5, 6月 2013 Leave a comment

 Windows環境でGitを利用する方法を色々試してみたのでまとめ。

 Team Foundation Serviceの今後やTeam Foundation Server 2013 などでもサポートが進みそう(そして社内でも熱い)Gitだけに早いうちにマスター(遅いか)しておきたいところ。

 今回試したのはWindows環境でCygwinGitExtentionsを用いてGitBucketのリポジトリからPullしてくるところまで。

 

 Cygwin、GitExtentionsともにSSH接続で公開鍵暗号方式を利用して接続流れになりますが、それぞれ鍵の作り方を変えてみたので紹介。

 

Cygwin

 

002

 

 Windows環境にLinuxライクな環境を作成してコマンドラインで操作するためのソフトウェア。

003

 

 Gitはコマンドラインでの操作説明が多いため、こちらの環境の方が情報は豊富そうです。

 ただ、WindowsでVisual Studioメインで開発してGitはコマンドラインというのはちょっと綺麗じゃない気がします。

 

Cygwinで鍵の作成

 Cygwinで鍵を作成する場合は以下のコマンドを打ちます。

 

ssh-keygen -t rsa

 

 途中パスワードを聞かれるので指定して作成します。すると{ホームディレクトリ}/.sshフォルダ以下に、id_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されます。

 公開鍵をサーバー側に公開して、秘密鍵は手元に置いておきます。

 GitBucketの場合、アカウント設定のSSH Keysメニューから追加を行います。id_rsa(公開鍵)の中身をテキストエディタでコピーしたものを設定します。

 

004

 

 

 後は、初期GitBucketリポジトリ作成時に表示される「Make changes and push」に従いリポジトリに接続してみればOK。

 

 

005

 

注意点

 

 私の環境ではリポジトリに接続しようとした際に以下のエラーになった。

 

It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/ruedap/.ssh/id_rsa
Permission denied (publickey)

 

 ファイルの権限を600に変更すれば良いようなのだが、私の環境ではうまく行かず、以下の記事を参考に対応した。

 

windows8でcygwinのchmod 600がうまくいかない(最底辺プログラマ雑記)

 

 Windows8の問題?

 

GitExtentions

 

 GitExtentionsはGUIでGitを扱えるツールで、Visual Studioにもメニューが追加される。

 個人的にはVisual Studioと連携できるこちらがありがたい。

 

006

 

 

 007

(GitExtentionsを入れるとVisual Studioにメニューが追加される、画像下部の「Commit」がある列)

 

 こちらは鍵の作成にPuttyを利用する方法を紹介する。

 結局作成するのは公開鍵と秘密鍵なので、Cygwinでの作成と好きな方法を利用すればよいと思う。

 

 GitExtentionsはフル版をインストールすると一緒にPuttyもインストールするので、まだPuttyを使われていない場合はそちらが便利。

 

008

 

 Puttyのインストールディレクトリ(私の場合、C:\Program Files (x86)\GitExtensions\PuTTY)にあるputtygen.exeを起動します。

 

009

 

 上画像のGenerateボタンを押して、ボタン上部のエリアでマウスを動かすとマウスの動きを乱数代わりにしてkeyを生成します。

 keyが生成されたらKey passphraseとComfirm passphrase(確認)にパスワードを入力して公開鍵と秘密鍵を作成します。公開鍵は拡張子をpub、秘密鍵はppkにするのが慣例です。特に秘密鍵の拡張子をppkにしておくと次のGitExtentionsでの読み込み時に便利です。

 

GitExtentionsでpullする

 

 鍵ができたらGitExtentionsを利用してpullしてみます。

 

010

 

 上写真のようにフォルダー上で右クリックメニューを表示しPullを選択します。

 

 011

 

 「リモートの管理」ボタンでリポジトリの設定を行います。

 

 012

 

 設定画面の下部の参照ボタンから秘密鍵を読み込みますが、拡張子がppkのものしか選べないので注意(まぁ、拡張子を変えればいいんですが)。

 後はGitBucketなり、接続するリポジトリに合わせた設定を行います。

 

GitBucket

 

 最後にGitBucketについて、

 GitリポジトリのWebサービスとしてはGitHubが有名ですが、GitHubが非公開リポジトリが有料なのとはことなりこちらは5名までの接続であれば無料で利用できます。

 というわけで、メインはGitHubでサブとしてこちらも利用し始めてみたのですが、こちらも良さそうです。

 

 というわけで、鍵の部分をメインにWindows環境からのGitリポジトリへの接続について紹介しました。


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です