Git関連ツール開発中に手元で remote 関連の動作テスト
いやまあこんなことは、どうでもいいといえばいいのですが、意外と知らない人もいるかも意知れないと思ってメモ。
git-daily の開発とかでよく remote とのやりとりの動作確認とかが必要になるんだけど、そのテスト方法について。いちいち gitosis やら github やらの実際のサーバを用意しなくてもテストはできるんですよ、という話。
適当なリポジトリを用意
$ cd /path/to/tmp $ mkdir hoge $ cd hoge $ git init $ touch hoge.txt $ git add hoge.txt $ git commit -m "first commit"
remote 追加
hoge に戻って、相対パスで remote の追加&first push。
$ cd ../hoge $ git remote add origin ../fuga $ git push -u origin master Counting objects: 3, done. Writing objects: 100% (3/3), 231 bytes, done. Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To ../fuga * [new branch] master -> master Branch master set up to track remote branch master from origin.
あとは適当にリモート操作
pushしたり
$ touch fuga.txt $ git add fuga.txt $ git commit -m "add fuga" [master 263204f] add fuga 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fuga.txt $ git push Counting objects: 4, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Unpacking objects: 100% (3/3), done. Writing objects: 100% (3/3), 280 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To ../fuga d3a54c5..263204f master -> master
clone もできます
$ cd .. $ ls fuga hoge $ git clone fuga piyo Cloning into piyo... done. $ ls fuga hoge piyo $ cd piyo $ git log commit 263204f294a67959a5978fbe5a862e2c05526e91 Author: Sotaro KARASAWA <sotarok@crocos.co.jp> Date: Wed Jul 13 22:22:47 2011 +0900 add fuga commit d3a54c5d76851286052d216db0925637460e6f03 Author: Sotaro KARASAWA <sotarok@crocos.co.jp> Date: Wed Jul 13 22:16:07 2011 +0900 first commit
結論
Git は簡単。