ざっと要約すると、
- 開発環境から本番へのアップロードには現状のSVNを使ったまま、
- 開発環境内のバージョン管理のみGitを使い、
- 複数の開発者が同時に開発でき、
- 一台の開発サーバで別々のテスト環境をもてる
前回の記事で、開発者ごとに同一の開発サーバで別々のドキュメントルートを使えるようにするやり方を書いたので、今回はその続き。
元々のソースファイルなどは
/web/gameに存在しているので、まずはその内容をGitの共有リポジトリに登録する必要がある。
どちらにしてもリポジトリを作らないことには話にならないので、
/varにgit_reposというディレクトリを作り、そこで
git --bare game.gitとコマンドを叩いてやる。
次にこのリポジトリのクローンを作る。
git clone /var/git_repos/game.git /web/new_game「空のリポジトリだよー」とワーニングのメッセージが出るのだけど、華麗にスルー。
次に/web/game/の中身を/web/new_game/にごそっとコピー。
きちんとGitで管理できているのかどうか、new_gameに移動して
git statusコマンドを打ってみると、ごっそりとGitに未登録のファイルが出てきた。
ここで
git add --allとしてやればまずはGitのステージに登録できるのだけど、statusの一覧を見てみると、大量の.svnファイルが含まれている。
開発環境から本番にアップするのにはSVNを使うので.svnファイル自体は必要なのだけど、Gitには登録したくない。
というわけで、.gitignoreファイルを作成し、.svnを無視リストに加える。
その後、おもむろに
git add --all git commit -m 'add new file'としてGitに登録。
そして、
git push origin masterとして、共有リポジトリに追加する。
次に/web/game_tadasukeとうディレクトリを作成する。
そんでもって
git clone /var/git_repos/game.git /web/game_tadasukeとして、共有リポジトリからソースファイルを落としてくる。
後は前回の記事のようにユーザによってドキュメントルートを
/web/game
or
/web/game_tadasuke
に切り替えてやれば、ユーザごとに別々の開発環境ができてテストまでできちゃうようになる。
うーん、素晴らしい。
まだ運用を開始して日が経っていないので、後は実際に使いながら細かく修正していく感じですな。
0 件のコメント:
コメントを投稿