setucocms (1.6.1) | 2013-03-24 21:20 |
Gitの操作方法について Git_Git導入/操作まとめ
書式は「x.x.x」で、左からメジャーバージョン、マイナーバージョン、パッチバージョン。それぞれ半角数字で、桁数の制限はない。
※あくまでもブランチ名は 「メジャーバージョン.マイナーバージョン」 であり、パッチバージョンまで含めたバージョン番号はタグでつけていく。
基本的に、ソースコードの変更が生じるものは
の流れになります。 ちょっとした修正の場合は も参照してください。
以下の3パターンがありうる。
masterブランチからトピックブランチを切って開発を進め、開発が完了したらトピックブランチをmasterブランチにマージする。
次リリースバージョンに向けた変更とは、機能の追加/変更、リリース済みの過去のバージョンには反映しないバグ修正/リファクタリングを指す。
1)担当者はリポジトリから最新版(master)を取得
2)担当者はRedmineでチケット起票(チケットNoが372だったとする)
3)担当者はローカルリポジトリでトピックブランチ"iss372"を作る
4)担当者は、iss372ブランチで作業を進める
※このiss372ブランチでの作業中に他の開発者によってmasterブランチが更新された場合は、
として、最新のmasterの状況をiss372ブランチに取り込んでください。
git-rebaseについては、詳しくはこちらを参照してください。
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#using-git-rebase
5)担当者は、作業が終わったら(=テストが通り、ブラウザ上で機能が確認できたら)iss372ブランチをgithubにpush
※push後、githubにiss372ブランチが反映されていることを確認すること
6)チェック担当者は、iss372ブランチを取得して修正確認
NGであれば、チェック担当者は差し戻して4~6を繰り返す。
OKになったら、7に進む。
7)開発者は、チェックOKになったらiss372ブランチをmasterブランチにマージし、masterブランチをgithubにpush
※このとき、自分以外のメンバーが行った変更とコンフリクトが起きたら解消すること
※masterにマージ後、テストが通ること、振る舞いが正しいことを確認すること
※push後、githubのサイトにmasterブランチの更新が反映されていることを確認すること
8)開発者は、ローカルとリモートのトピックブランチを削除する
※githubのサイトからiss372ブランチが消えていることを確認すること
9)開発者は、Redmineのチケットをクローズする
機能追加ではないが、バグ修正/リファクタリングを行い、次リリースとリリース済みの過去のバージョン両方に反映させる必要がある場合。
1)シナリオ1の1〜7までと同じ流れで作業する
※ただし、作業中に他の開発者によってmasterブランチが更新されても、
git rebase によるトピックブランチへの取り込みはしなくてOKです。
(過去のリリースに含んではいけない変更がmasterブランチから取り込まれる可能性があるため)
2)過去のリリースブランチに変更を反映する
リリースブランチ 1.0 に変更を反映するとする。
3)リリースブランチ上にタグを付ける
タグ名は、同ブランチ上で一番新しいパッチバージョンをブランチ名の後ろに付けたものにする。
4)githubにリリースブランチとタグをpushする
※githubのサイトで、ブランチ1.0が最新になっていて、タグ1.0.1が選択できることを確認すること。
5)開発者は、ローカルとリモートのトピックブランチを削除する
※githubのサイトからiss372ブランチが消えていることを確認すること
6)開発者は、Redmineのチケットをクローズする
※基本的にシナリオ1の「masterブランチ」を「リリースブランチ」に置き換えた流れになる
修正対象のリリースブランチからトピックブランチを切って開発を進め、開発が完了したらトピックブランチをリリースブランチにマージする。
1)担当者はリポジトリから該当リリースブランチの最新版を取得。ここではブランチ1.0とする。
2)担当者はRedmineでチケット起票(チケットNoが372だったとする)
3)担当者はローカルリポジトリでトピックブランチ"iss372"を作る
4)担当者は、iss372ブランチで作業を進める
※このiss372ブランチでの作業中に他の開発者によって該当のリリースブランチ1.0が更新された場合は、
として、最新の1.0の状況をiss372ブランチに取り込んでください。
git-rebaseについては、詳しくはこちらを参照してください。
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#using-git-rebase
5)担当者は、作業が終わったら(=テストが通り、ブラウザ上で機能が確認できたら)iss372ブランチをgithubにpush
※push後、githubにiss372ブランチが反映されていることを確認すること
6)チェック担当者は、iss372ブランチを取得して修正確認
NGであれば、チェック担当者は差し戻して4~6を繰り返す。
OKになったら、7に進む。
7)開発者は、チェックOKになったらiss372ブランチをリリースブランチ1.0にマージする
※このとき、自分以外のメンバーが行った変更とコンフリクトが起きたら解消すること
※1.0にマージ後、テストが通ること、振る舞いが正しいことを確認すること
8)開発者は、タグで新しいパッチバージョンを付ける
※タグ名は、同ブランチ上で一番新しいパッチバージョン(ここでは".2"とする)をブランチ名"1.0"の後ろに付けたものにする。
9)開発者は、リリースブランチとタグをgithubにpushする
※githubのサイトで、ブランチ1.0が最新になっていて、タグ1.0.2が選択できることを確認すること。
10)開発者は、ローカルとリモートのトピックブランチを削除する
※githubのサイトからiss372ブランチが消えていることを確認すること
11)開発者は、Redmineのチケットをクローズする
ちいさいバグ見つけて直したとか、ちょっとしたリファクタリングとか、
ドキュメントの文言を直したとか、そういう大したことのない修正のときは
トピックブランチを切らずに、とりあえずmasterブランチで作業・pushしてしまってOKです。
ただしその場合も、後からでいいので、レビューしてもらうために
チケットは必ず作り、チェック担当者にチェックを頼んでください。
[PageInfo]
LastUpdate: 2012-03-29 11:47:27, ModifiedBy: mars-3
[License]
Creative Commons 2.1 Attribution-ShareAlike
[Permissions]
view:all, edit:members, delete/config:members