gitによる管理とリリース運用
記載内容については利用規約:第14条「責任事項」に則っております。要するに At Own Your Riskです。また、本ページにおいては問い合わせは受け付けておりません。問い合わせないでください。担当が泣き、公開を止めてしまうかもしれません。
目的
リリースを簡単に行いたい。
- 気軽なcommit、push
- 明確なリリース方法
- リリース後の問題発覚への迅速な対応
タグ規則
タグはリリースに利用します。
フォーマット : vX
vは固定、X=1からの連番でつけてください。連番はgit tag -l で確認できます。
個人で利用するタグ
タグはプレフィックスを決めた上で、自由につけてOKです。
- ma2shita = ma2
- kno = kno
ブランチ運用の判断基準
いづれかに該当したら、ブランチを作ってください。
- 当初から開発期間が1週間以上になりそうだと判断した場合
- master直接で開発を開始し、1週間以上経過した時点
ブランチ名は適宜決めて。
実運用
新規開発開始
$ git clone git://git.sv.plathome.co.jp/REPO
開発ルーチン (master直接)
## 開発
dev$ git pull
dev$ git checkout master
[開発]
↑↓
dev$ git commit
(テストできる状態になったら)
dev$ git push
(テスト対象リビジョンとして、リビジョン番号をテスト担当に伝える)
## テスト
test$ git fetch
test$ git checkout テスト対象リビジョン
if [テスト]
test$ git tag リリース対象タグ
test$ git push --tags
(リリース対象タグとして、タグ名をリリース担当に伝える)
else
test$ git checkout 最後のリリース対象タグ #git tag すればわかります
["開発"に戻す]
end
(タグ付けはdevで行っても良いですが、タグ付け対象リビジョンを間違えないように気をつけてください。)
## リリース
stage$ git fetch
stage$ git checkout リリース対象タグ
開発ルーチン (branch利用)
## 開発
dev$ git pull
dev$ git checkout -b ブランチ名 [作業開始対象のtag名・branch名・リビジョン番号]
#ex.) git checkout -b hoge master
#ex.) git checkout -b hoge v1.0
#ex.) git checkout -b hoge 34de380
[開発]
↑↓
dev$ git commit
(テストできる状態になったら)
dev$ git push --all #(他者がmasterをeditしている場合、masterへのpushがrejectされることもあるが、無視でOK)
(テスト対象リビジョンとして、リビジョン番号をテスト担当に伝える)
## ブランチテスト(バイパスしてもいいよ)
test$ git fetch
test$ git checkout テスト対象リビジョン
if [テスト]
(マージ対象リビジョンとして、リビジョン番号をマージ担当に伝える)
else
test$ git checkout 最後のリリース対象タグ #git tag すればわかります
["開発"に戻す]
end
## マージ
dev$ git checkout master
dev$ git pull
dev$ git merge マージ対象リビジョン
if [コンフリクト]
解消して
$ git add .
$ git commit
end
dev$ git push --all
(テスト対象リビジョンとして、リビジョン番号をテスト担当に伝える)
## テスト
test$ git fetch
test$ git checkout テスト対象リビジョン
if [テスト]
test$ git tag リリース対象タグ
test$ git push --tags
(リリース対象タグとして、タグ名をリリース担当に伝える)
else
test$ git checkout 最後のリリース対象タグ #git tag すればわかります
["開発:テストでだめだったら"]
end
(タグ付けはdevで行っても良いですが、タグ付け対象リビジョンを間違えないように気をつけてください。)
## 開発:テストでダメだったら
dev$ git checkout master
dev$ git pull
dev$ git checkout ブランチ名
dev$ git merge master
[開発]
↑↓
dev$ git commit
(テストできる状態になったら)
dev$ git push --all #(他者がmasterをeditしている場合、masterへのpushがrejectされることもあるが、無視でOK)
(テスト対象リビジョンとして、リビジョン番号をテスト担当に伝える)
## リリース
stage$ git fetch
stage$ git checkout リリース対象タグ
テスト、リリースは、ブランチ運用、そうでない運用共々作業は同じです。
## 後片付け
dev$ git checkout master
dev$ git branch -d ブランチ名
dev$ git push origin :ブランチ名