"Simple" is "Best"

開発時に詰まったところや 調べた結果日本語での情報が無かったり古かったりした場合に自分用のメモとして高校生(?)が更新していくブログ

独自で作ったブランチモデルの一通りのメモ

友達と一緒にHexoを使ったメディアを作ろうと言う話になった

Gitで管理して、リモートはGitHub、デプロイにはNetlifyを使う

迷ったときに見返す、完璧自分用メモ

Media-Flow

今回自分で作ってみたブランチモデル

過去に一度もブランチモデルなんて使ったことないのだが

メディアとして一般公開する予定だし、8ヶ月ほどの運営は確実なので使おうということになった

GitFlowとGitHub-Flowを参考にした

f:id:bigbuddha:20181018163115p:plain

masterブランチ

Netlifyには、このブランチをデプロイするように設定してある

リリース用の、完全品質を保証するブランチ

developpostからのmergeのみで更新される

また、developからmergeするときにTagをつける

Tagをつける時以外、直接操作してはいけない

(Tag付けも自動で行いたい…)

developブランチ

開発用ブランチ

一般公開はまだしてないけど、ほぼ確定している

別途テスト用Netlifyサイトを用意し、そこに繋げる

開発者だけじゃない人たちでも、アクセスして確認ができる

Netlifyにはサイトにパスワードをかける機能があるので、それを使って身内限定にする

どうやら有料プランのようなので、URLを身内限定で共有するということにしておく

topicブランチのmergeのみで更新される

直接操作してはいけない

postブランチ

記事を投稿/変更/削除するためのブランチ

masterから派生している

HexoはMarkdownで記事がかける

そのmdファイルをPushする

Topic ブランチ

機能の追加/修正を行うブランチ

developから派生している

ブランチ名は{issue番号} {内容、スネークケース}

完成したら、developへプルリク

mergeされたdevelopが、masterにmergeされたら

masterにmergeした人が削除する

感想

過去にブランチモデルを利用したことがない&さっき運用を始めた

なので、使い心地がどうとかはわからない

ただ、自分で作って、自分たちで使ったことによって

より一層Gitの使い方がわかった気がする

近いうちに使ってみた感想とか書きたい

参考記事

いまさらだけどGitを基本から分かりやすくまとめてみた

【Git】リモートからの取得とリモートへの反映で行っていること(fetch,pull,push)