Skip to content

開発フロー コラボレーター編

Takayuki Nagatomi edited this page Apr 29, 2019 · 3 revisions

baserCMS プロジェクトに GitHub コラボレーターとして登録されていいる場合は、
開発レポジトリに直接コミットを行う事ができます。
※ 事前に GitHubアカウントを取得し、ローカルPCに公開鍵の設定が完了している必要があります。

1.レポジトリをクローンする

ローカルにレポジトリのクローンを作成します。

git clone [email protected]:basercms/basercms.git {フォルダ名}

2.ローカルブランチの作成

リモートの開発ブランチをローカルのブランチとしてコピーします。
次のコマンドでリモートブランチをローカルブランチとしてコピーした上で、チェックアウトします。

git checkout -b {ローカルブランチ名} remotes/origin/{リモートの開発ブランチ名}

**(例)開発ブランチ dev-3 をローカルブランチ dev-3 としてコピー&チェックアウト**  
git checkout -b dev-3 remotes/origin/dev-2

3.ローカルブランチで開発&コミット

開発を行う場合は、ローカルの開発ブランチからさらにトピックブランチを作成した上で取り掛かります。
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のチケットと連携させる事ができますので必ず入れるようにしましょう。
具体的には、チケット詳細ページに、コミットしたリビジョンへのリンクが張られます。

4.リモートにプッシュ

ローカルでの開発が完了したら、リモートの開発レポジトリに変更内容を送信します。
即座にgithubのリポジトリに反映し、Redmineのチケットにも反映されます。(コミットメッセージに fixes を記載している場合)

git push origin {リモートの開発ブランチ名}

**(例) 開発ブランチ dev-3 へ送信**  
git push origin dev-3

↑↑↑ Wikiに登録されているページは古いドキュメントです。 新しいドキュメントは、baserCMS公式ガイド をご覧ください。

Clone this wiki locally