バージョン管理したことない俺がBazaarを導入するまでの話
日が随分長くなりましたね。
また今回もコンピュータの話題です。
わからない方は、
ショッピングセンターに入ってる食べ物系の店で
食ってみたいんだけど、なかなか購入に至らない食べ物
について語り合いましょう。
俺は「銀だこ」のたこ焼き!
→こんにちは。
香りといい見た目といい、ウマそうで食いたいのに、
なんかスルーして「マックでいいかな・・」とかなるんですよね・・。
非常に遅々として進んでないのですが、
何本かアプリを開発中の俺です。
色々とやってく中で、すこし面倒だなっていうか、
たいしたことではないんですが、
問題がありまして。
今日はその解決策として
Bazaarを導入したというお話です。
問題点
解決したい問題は2つ。
- ファイルのバックアップがしたい
- 複数の環境で作業内容を同期したい
今、Androidで動くアプリを作っているのですが、
それがVM上にあるんですよ。
仮想環境が壊れるか、PCが壊れるかしたら、
復元が難しそうなのでそれを外に出したい。
というのが1点。
先日譲り受けたノートと母艦PCの間での、
作業を同期したい。
それがもう1点。
Dropboxで同期する方法もあるんだけど、
コーディング中にガリガリアップロードされていくのは
精神衛生上よくない。
間違えたソースまで同期されてしまうしね。
その間のトラフィックを考えたらゾゾゾってなる。
といういうわけで
Bazaar(bzr)というバージョン管理システムを入れてみました。
あまりバージョン管理とかやったことないから、
理解するまでに苦労しましたよー。
Linuxとか全然わかんないし。
Gitを入れなかった理由は特にない><;
ゆくゆくはWindows機の中のファイルも管理したくて。
なんかGitはLinuxじゃないとダメみたいなのを読んだから、
じゃあ他のにしよう、みたいな。
いい加減な理由ですよ。
以下環境と導入までの手順。
1.まずはUbuntuに必要なソフトを入れる
- Samba
- Bazaar
sudo apt-getでさくっと入れる。
ただし、Bazaarはそのままやると古いバージョンがあたっちゃうそうなので、
このあたりを参考にしながら/etc/apt/sources.listに
以下を末尾に追加します。
deb http://ppa.launchpad.net/bzr/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/bzr/ppa/ubuntu hardy main
そのあとsudo apt-get updateとかやると「キーがなくてアクセスできねーぞ」って怒られるので
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXX
とやって公開キーを登録。
--recv-keysの後ろの公開キーはどっかに表示されてたはず。
忘れちゃったよてへぺろ。
んでもう一回sudo apt-get updateやってエラーが出ないことを確認したら
sudo apt-get bzr
でBazaarのインストール完了。
bzr --versionとか実行できるか確認。
2.Samba経由でWindowsの共有フォルダをマウントする
sudo mount -t cifs //(winodows機のIPアドレスかマシン名)/(共有フォルダ名) (マウントに使うUbuntu側のディレクトリ) -o username=hoge,codepage=cp932,iocharset=utf8,defaults
と、長ーいコマンドを打ってWindowsに接続。
長いので、自動的につながるようにしちゃうか、
shにまとめてしまったらいいんだと思う。
3.ローカルのディレクトリをBazaarに管理させる
bzr init bzr add bzr commit
でおk。
共有リポジトリを作る
bzr init-repo
でおk。
Windowsにマウントしたディレクトリ(例えば/mnt/smb/)は
rootじゃないと書き込めないから、
sudo bzr init-repo
ってやるんですよ。
共有リポジトリにローカルのファイルをアップロードする
bzr push (共有リポジトリの場所)
でおk。
逆に引っ張り出すのは
bzr pull (共有リポジトリの場所)
一度実行すると場所を覚えてくれるので、
二度目からはpush/pullだけで大丈夫。
ひとまず
昨日一晩でここまで理解した!
環境1のファイルを環境3にpushして、
環境2でpullできたところまでで眠くなって
ゲームオーバーです。
もうちょいいじって色々理解したら、
またなんか書きますね・・。
参考サイト
Git本はたくさんあるのに、
Bazaar本は全然見つからない・・。