Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2013-01-09 [長年日記]
_ Nexus7 から gitolite を利用する
この文章は、Nexus 7(Android)で、玄箱で動いている Debian GNU/Linux の gitolite にアクセスして、git cloneまでを行う時に自分が困ったことを記述したものです。2013/01/10追記。agitをさわっているが、agitはソースコードを参照できても、commitする機能はなさそうなのである。これは、結構参った。Nexus 7は参照だけでメモって後からPCで追記や変更をする必要がある。あと、下でbareオプションのことを書いているが。agitでcloneしたbareリポジトリをbareオプションなしでcloneしたら個々のファイルをtextエディターで編集できる。
環境は、私が実施したもので、各自の環境に応じて内容は読み替えるのが良いでしょう。私の方法が参考になれば幸いです。
利用したもの
- Nexus 7
- Connectbot with ssh-agent (connectbotにssh-agentパッチがあたっているソフトウェアです)
- agit --- 有償ですが、google playで使えそうなのがこれだったので。(GUIでなくCUIのgitでもいいのだけど判らなかった)
- gitoliteをインストールしているサーバ(私の場合は玄箱)
大まかな手順
前提として、gitoliteがもう運用してあると考えている。あとgitolite関係のドキュメントは、オンラインだと(http://www.atmarkit.co.jp/fjava/rensai4/devtool26/devtool26_1.html)がよいかと、ProGitのgitoliteへのドキュメントへのリンクもあります。あと、この動画も見ておくと良い。
- connectbot with ssh-agent で、公開鍵と秘密鍵のペアを作る
- gitolite-admin.git を clone している場所で、keydirにNexus7で作った公開鍵を登録する
- git add と commit をして公開鍵を gitolite へ送り込む
- connectbot with ssh-agent から gitolite@サーバー名 でリポジトリ一覧がでるか確認する。でないなら、gitoliteサーバの /var/lib/gitolite/.ssh の中身を確認する。
- 上記がokなら、agitを立ち上げて、cloneする。私がハマった点は、リポジトリがbareか?はcloneする元のリポジトリのことであり、手元のリポジトリの話でない点に気がつくまでちょっと考えた
- 最初はリポジトリがでかいと時間がかかりますが、無事 clone できました!
connectbotでescやctrl
ついでに、connectbotを使っている時に、Nexus 7で ESC を入力できなくて悶絶してました。ハードウェアキーボードを接続してても、これにはちょいとはまりました。
ESCやCTRLを使いたい時は、Connectbotが動いている画面をタップして、ESCおよびCTRLキーを表示させましょう。そのあとZZとかでviを終了させるのです。