-
Notifications
You must be signed in to change notification settings - Fork 132
開発フロー コラボレーター編
baserCMS プロジェクトに GitHub コラボレーターとして登録されていいる場合は、
開発レポジトリに直接コミットを行う事ができます。
※ 事前に GitHubアカウントを取得し、ローカルPCに公開鍵の設定が完了している必要があります。
ローカルにレポジトリのクローンを作成します。
git clone [email protected]:basercms/basercms.git {フォルダ名}
リモートの開発ブランチをローカルのブランチとしてコピーします。
次のコマンドでリモートブランチをローカルブランチとしてコピーした上で、チェックアウトします。
git checkout -b {ローカルブランチ名} remotes/origin/{リモートの開発ブランチ名}
**(例)開発ブランチ dev-3 をローカルブランチ dev-3 としてコピー&チェックアウト**
git checkout -b dev-3 remotes/origin/dev-2
開発を行う場合は、ローカルの開発ブランチからさらにトピックブランチを作成した上で取り掛かります。
baserCMSは、基本的にチケット駆動開発の為、トピックブランチの名称には、チケット番号を含める事をおすすめします。
また、開発が完了した時点でトピックブランチに squash オプション付きでマージする流れにすると、開発中に安心して随時コミットができ、不要なコミットログを残さなくてすみます。
**(例)バグチケットNO 3333 用のブランチを作成し改修する場合**
git checkout -b 3333
修正作業…
git commit -a -m “◯◯を調整”
git commit -a -m “◯◯を調整中、一旦コミット”
git checkout dev-3
git merge —squash 3333
git commit -a -m “◯◯の不具合を修正 fixes \#3333”
※ マージの際に、「—squash」オプションを利用すると、マージした内容をコミットせず、変更だけを取り込む事ができます。
これにより、改修用ブランチでコミットした際のメッセージをリモートブランチに含めず、マージしたタイミングでのメッセージだけをリモートブランチに送る事ができます。
※ マージしたタイミングでのメッセージに、「fixes
#チケットNO」という内容を含めると、Redmineのチケットと連携させる事ができますので必ず入れるようにしましょう。
具体的には、チケット詳細ページに、コミットしたリビジョンへのリンクが張られます。
ローカルでの開発が完了したら、リモートの開発レポジトリに変更内容を送信します。
即座にgithubのリポジトリに反映し、Issueにも反映されます。(コミットメッセージに fixes を記載している場合)
git push origin {リモートの開発ブランチ名}
**(例) 開発ブランチ dev-4 へ送信**
git push origin dev-4