リモートリポジトリで開発環境と本番環境を分けたいんだけど、
お金ないし、個人でごにょごにょするには一個のサーバーで何とかしたいですよね?
本来は開発環境でpushした物を
本番環境でpullしで反映させるんですけど、一個のサーバーでなんとかこれと同じ事がしたかった訳です。
ってことでやってみました。
まずはリモートリポジトリを作りましょう。
私は適当に$HOME/repos/以下に作りましたが、ローカル環境内での作業なので別に好きな所で大丈夫だと思う。
$ cd $HOME/repos/
しらばらプロジェクト名の.gitフォルダを作ります。
$ mkdir hogehoge.git
んで管理用に初期化
$cd hogehoge.git $ git init --bare
これでリモートリポジトリの下準備が完了しました
で、今度は自分がいま作ってるプロジェクトをこのいま作成したリモートリポジトリとひもづければpushもpullもできるはず。
ということで移動(もしもまだなにも作ってないひとはこの作業はいらないです)
$ cd $HOME/work/hogehoge/
でだ、いままでここで作業していて、コミットだけを行っていたのですが、これをリモート(さっき作ったフォルダ)にaddします
$ git remote add origin $HOME/repos/hogehoge.git
これで今までの作業分がリモートに格納されました。
そんじゃこっちを本番にして、開発用の環境を作る為にcloneします
$ cd $HOME/work $ git clone $HOME/repos/hogehoge.git hogehoge_kaihatu
これでこのhogehoge_kaihatuで開発してpushしたらhogehogeでpullして反映するという状態になりましたとさ。
で、実はこれだけじゃだめで、もともと動いていたプロジェクトをリモートにaddしたのは良いのだけれど、
pullしようとしたらエラーで怒られました。
しらべたらこんな呪文をとなえよと書いてあったのでとなる事に
$ cd $HOME/word/hogehoge/ $ git config branch.master.merge refs/heads/master $ git config branch.master.remote origin
これで本番環境でもpullできるようになりましたとさ、めでたしめでたし