GIT
Githubとgitoriousのあっさりとしたつかいかた
by kuippa on 1月.24, 2012, under GIT, ツール
その1 さくらスタンダードサーバーにGitサーバーを立ててみた
その2 GitサーバーをWindowsクライアントから利用する
GithubやgitoriousはGitサーバーのWebGUIのようなものなので、公開されてしまうかわりに誰でも利用できるオープンRepositoryを提供している。お金を払えば非公開にもできる。
これまでのその1、その2のステップを踏んだ人にはすんなり使えることだと思う。また、本などにも詳しくのっているし、Githubのチュートリアル的なサイトは現在では多くあるのでそれをみればわかるんじゃないだろうか。
ちなみに本は、下記がオススメ。
今みてみたらGithubのテストアカウントを作ったのは2009年だった。Githubのほうは当時も苦労した覚えはない。今ちょっとやってみる範囲でも動作に大きな差は無かった。gitoriousは数日前に少し苦労した。だがそれも自分のローカルGitのバージョンなどの整合問題で、環境さえ整っていれば問題ないように思う。
ポイントはssh(read+write権限)でアクセスするのに必要なOpen_sshの公開鍵の登録ぐらいなのではないかと思う。
こちらについては、その2の記事に書いておいたのでそちら参照。
これをどこに登録するかだけ乗っけておく。

右上のドライバのアイコン Account Settingからこの画面にいける。ここでSSHの公開鍵を登録しよう。ポイントはopen_sshの公開鍵を登録すること。

プロジェクトを自前でつくったり、他の人のブランチを切ったりして作ってみよう。つくったRepositoryに登録するアドレスはプロジェクトの画面のここで確認できる。
面白いのはsshだけでなくほかのいろいろなUP/Downを用意しているところだ。試してみるといい。

SSHの登録は右上のDashboardの画面からいける。
同じくDashboardの画面からプロジェクトにいけるので、このアクセスポイントをつかってGitを利用すればよい。
GitサーバーをWindowsクライアントから利用する
by kuippa on 1月.22, 2012, under GIT, ツール
前回の続き。 さくらスタンダードサーバーに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を設定してみる。例えば、こんな感じ。
サーバーのパスワードを聞いてくるので入力する。
パスフレーズにする方法もあるので、後で別に書く。
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のつかい方などについて書いた
参考:
鍵交換方式のsshでアクセスするには
www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html
↑少し内容が古いけど、大丈夫だよね?脳内変換して。
TortoiseGit にて Git サーバと接続するまでの手順
d.hatena.ne.jp/tarurut/20110117/1295285155
さくらスタンダードサーバーにGitサーバーを立ててみた
by kuippa on 1月.22, 2012, under GIT, ツール
WindowsからTortoiseGitでSakuraサーバーのFreeBSDにGitoriousをたててみようとしている。Gitoriousをたてるというところで、敗戦色が濃厚になってきたのとGitoriousをGithub的な利用の仕方にさえ留めておければ、普通に使うだけなら大丈夫だとおもうので、普通のひとがつかうところまでは纏めておくことにする。
作業整理。長くなりそうなのでいくつかに記事をわけておきます。
WindowsのsshクライアントにはPuTTYを使用している。このクライアントツールの説明は省く。詳しくはぐぐれ。
さくらの管理画面からサーバーのOSなどをチェックしておく
例えば:FreeBSD 7.1-RELEASE-p16 i386
サーバーの構成に併せて、必要なバイナリのダウンロード
git-scm.com/download
今回はwgetでやってしまうので、URLだけコピペ。
SSHでサーバーにログインする、以下、サーバー側での作業。
コマンドをあげつらっておく。
念のため言っておく何も考えずにけどコピペで実行しないこと!
サーバーにGitを入れる。
cd $HOME
mkdir $HOME/git
mkdir $HOME/tmp
cd $HOME/tmp
wget ftp.de.debian.org/debian/pool/main/g/git/git_1.7.2.5.orig.tar.gz
tar xzvf git_1.7.2.5.orig.tar.gz
cd git-1.7.2.5
./configure –prefix=$HOME/git
gmake prefix=$HOME/git
gmake prefix=$HOME/git install
printenv
setenv PATH $HOME/git/bin:$PATH
printenv
git –version
git config –global user.name ‘hagurachaya’
git config –global user.email ‘info@hagurachaya.com‘mkdir $HOME/git/repositories.git
cd $HOME/git/repositories.git
git –bare init
.cshrcにPATHかいておく(cshrcはログイン時に実行されるコマンド。setenvで大丈夫だと思うが、ダメという報告もあったのでこの方法も記載しておく。) pathのところスペース区切りなので注意ね。
vi $HOME/.cshrc
i
set path=(略.. $HOME/git/bin)
[ESC]
:wq
試しにサーバー上でGitの動作を試してみる。
git clone –progress -v $HOME/git/repositories.git test_prj
cd $HOME/tmp/test_prj
vi test.txt
##FTPでもなんでもいい…ファイルを一個作ってみる i→test→ESC :wq
ls -la
git add .
git commit -m ‘test1′
git push $HOME/git/repositories.git master:master
Gitはpushがポイント。最初commitしてんのになんで反映されないのだろうかと真剣にはまった。違うディレクトリからcloneしてみる。
cd $HOME/tmp
git clone –progress -v $HOME/git/repositories.git $HOME/tmp/test_prj2
cd $HOME/tmp/test_prj2
ls -la
vi test.txt
test.txtが更新されてたらサーバ上での基本的な動作確認OK!
こっから先はwindowsでこのLinux上のRepositoryにアクセスするのを確認。
長くなるのでここで分割。
次記事
余談:Gitを日本語で調べようすると、某i氏のブログを孫引きしたブログにばかりたどり着いてしまう。有名人だ!
参考
magpad.jugem.jp/?eid=137
実際やってみたらexport が使えなかったのでsetenvで代用
centOSならyumとかで入るっぽいのだけど、FreeBSDにはそもそもyumが無かった。
sememo.blue-robin.jp/?p=479
さくらのレンタルサーバでgitを使う方法
magpad.jugem.jp/?eid=138
多人数開発で Git を使う場合の環境構築
labs.gree.jp/blog/2011/03/2885/
windows クライアントにはtortoisegit
code.google.com/p/tortoisegit/downloads/list
git
apple-tart.net/dokuwiki/doku.php?id=development_tool:vc:git


