Knowledge base func

GitサーバーをWindowsクライアントから利用する

by on 1月.22, 2012, under GIT, ツール

Share on TwitterSave on Delicious

前回の続き。 さくらスタンダードサーバーにGitサーバーを立ててみた

Gitの黒い画面がエンジニア以外のユーザーを遠ざけているのは事実だとおもう。かといってTortoiseGitがそこまで一般の人に使いやすいかというと正直考えてしまうが、それでもないよりはいいのではないかと思う。最新版のGitを入れるとGUIのツールも付属しているのでここらへんの今後の動向次第でかなり変わる可能性を感じる。注目したい。

うんで、TortoiseGit、かつてGitHubが出た頃(1年半ぐらい前?)に試したことがあって、それが邪魔して苦労した。最新版を入れなおすクリーン環境をつくることをオススメする。結構難解なエラーが連発して原因特定に苦労した。
入ってるからと、いれないで置くよりは使うRepositoryサーバーのGitとはバージョンは併せておいたほうがいい。

まず、windowsにGitを入れる。ここらへんができれば、もちろんWindows単体でGitを運用することもできる。

code.google.com/p/msysgit/downloads/list?can=3
インストールバイナリになっているので何の苦労もなくはいると思う。
既存のGitやTortoiseGitがあるとシステム管理レベルで喰い合うので、都度再起動したほうがいいとおもう。無理すっと後で泣く。

TortoiseGitを入れる。
code.google.com/p/tortoisegit/downloads/list
msiのinstallパッケージが配られているのでこちらも苦労はないだろう。だが、これも多分最新のGitはGuiがついているので、ちょいと競合があるかもしれません。ここらへん再現はひとに寄って違うかもしれないので、ぶつかると大変かもね。

GitとTortoiseGitが普通に入った前提。
Widowsキー+Eでエクスプローラーあたりも立ち上げて空の実験用のフォルダを作っておく。エクスプローラーで空のフォルダを右クリックするとTortoiseGitがいるので、Create Repository Hereでレポジトリをつくったりしてみて、Git単体として普通に動くことを確認。
Linuxでやったように、Repositoryをつくって、空のフォルダにcloneしてみて、addして、commitして、pushして、違うフォルダでcloneしたり、更新競合などを試してみよう。ここらへんは普通にGitのつかい方だ。

TortoiseGitでcloneをしようとすると、Urlを入力する欄があるので、ここでLinux上で設定したGitのRepositoryを設定してみる。例えば、こんな感じ。

kuippa@kuippa.sakura.ne.jp/home/kuippa/git/repositories.git

サーバーのパスワードを聞いてくるので入力する。
パスフレーズにする方法もあるので、後で別に書く。

TortoiseGitをつかわずにコマンドで処理するならこんな感じ。
黒い画面を立ち上げるWidowsキー+Rでファイル名を実行入力画面がでるのでcmdなりをいれて黒い画面を出しておく。

git.exe pull -v “ssh://kuippa@kuippa.sakura.ne.jp/home/kuippa/git/repositories.git” master

ファイルを開いて編集する。
ファイルを右クリックして、Git Commit、コミット画面でメッセージを入力する欄があるのでメッセージを必ず入力する。メッセージをいれないとTortoiseGitはコミットボタンが押下可能にならないので注意。
コミットができれば、Pushボタンがでてくるので、Pushしてみる。
Destinationを一応確認して、originがどこを指しているのか確認しておく。
OKを押せばGitサーバー側に更新が反映される。

これで一連。

わたし、まとめる。コレベンリ。
git のRepository.gitをサーバーにつくる
それをローカルでclone
編集して、ファイルをaddして、コミット
それをサーバーにpush

パスフレーズでアクセスする方法については詳しくは下記を参照。
ざっくり書いておく。
Puttyをインストールしたフォルダにputtygen.exeがいるのでこれで、キーをつくる。
生成ボタンを押して、マウスぐりぐり。
パスフレーズ入力して、「公開鍵の保存」をおして保存、拡張子は.pubあたりにしておくといい。
「秘密鍵の保存」をおして保存、拡張子は.ppkあたりにしておくといい。
この時点で、画面の上の欄にOpenSSHのauthorized_keys云々とかかれたキーがあるので保存しておくと幸せになるかもしれない。

Gitサーバー(Linux)に $HOME/.sshに 保存した公開鍵をあげて、コンバート

ssh-keygen -i -f key.pub > openssh_key.pub

コンバートしなくても、先に保存したキーと一緒。
authorized_keysに追加

cat openssh_key.pub >> $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys

以上がサーバー側での公開鍵の設定。
以下はローカル側での秘密鍵の設定。

CloneのときにでてくるLoad Putty Keyにppkを設定するか、右クリックsettingのところにでてくる、Git::RemoteのところのPutty Keyで秘密キーを設定しておく。設定がうまくいけば、サーバーのパスワードではなくてパスフレーズで入れるようになる。なんかこれだけの設定だとセキュリティ的にいろいろあるかもしれないけど、今回のGitからはずれるのでこれくらいに留めておく。これくらいで普通は大丈夫だよね? 一応前段にHostsの設定のやりかたぐらいは引用しておいたので運用上の重要度に応じて書き換えるとかあれこれ青天井。

とりあえず、これでLinux:GitServer-Windows:GitClientのざっくりしたつなぎの部分まで終了。たぶん次はGitHubとかGitoriousについて書くけど、ここまで書いて疲れたので、いつになるかはわからない・・・。

続きでGithubのつかい方などについて書いた

Githubとgitoriousのあっさりとしたつかいかた

参考:
鍵交換方式のsshでアクセスするには
www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html
↑少し内容が古いけど、大丈夫だよね?脳内変換して。

TortoiseGit にて Git サーバと接続するまでの手順
d.hatena.ne.jp/tarurut/20110117/1295285155

秘密鍵の作成方法
d.hatena.ne.jp/tarurut/20101204/1291424546


1 Trackback or Pingback for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!