拾玖-GITの運用計画策定

git-icatch
GITについてなんとなく理解している人を対象にしています。あしからず。
ワイもなんとなく以上の理解はしてないけどな!(まさに外道)
第一段階:リモートリポジトリを作成し、ローカルのデータをプッシュする
第二段階:ローカルをリモートにプッシュすると本番環境にも自動プッシュする

・第一段階
まずはGITリポジトリを作成。
$ git init
現在のファイル内容を監視対象にする。
$ git add .
現在の内容をコミットする
$ git commit -m “なんかメッセージ”

リモートリポジトリの作成(サーバー上で)
$ mkdir /var/hoge.git
$ cd !$
$ git –bare init –share
–bareはベアリポジトリのことでインデックスのみで実体がない。
–shareは共有リポジトリの設定。

リモートリポジトリの送信先設定(ローカルで)
$ git remote add origin ssh://<送信先アドレス>:<ディレクトリ>
例:git remote add origin ssh://HOGEHOGE:/www/myPage
.ssh/config に書き込まれる。以後はそちらを修正する。

ここまで出来たらこのリポジトリをリモートにプッシュする。
$ git push origin master
無事プッシュできたら第一段階完了。

・第二段階
概念:
ローカルからプッシュされた内容を、ベアリポジトリがあらかじめ
指定しておいたローカルリポジトリへ自動的にプッシュする。
利点は、ローカルでプッシュすればそれで更新作業が完了する。
弱点は、ウーんわからん・・・。
さて、ここではフック処理というものを活用する。
まずはhttpサーバーのルートディレクトリにクローンする。
$ git clone /var/hoge.git
リモートのbareリポジトリに移動しhookを覗く。
$ cd hook
ここでpost-receiveというファイルを作成し、以下のように記述する。
$ vim post-receive
#!/bin/sh

# 本番環境
cd /www/myPage
git –git-dir=.git pull origin master:master
—-ここまで
テスト環境などにも同様にしたい場合は、同じように追記していく。
cd /www/myPageT
git –git-dir=.git pull origin develop:develop
※行最後のブランチ名に留意!

GITを真面目にやっていくとすごい分量になるので、
気になる人は世に溢れるHOW TOを参考にしてもらうということで、ひとつ…。