Skip to content

Git & GitHub

mtkdv edited this page Jun 1, 2023 · 1 revision

ブランチ戦略

ブランチは main, staging, develop に分けました。
作業時はdevelopをベースにブランチを切り、作業終了後にdevelopに対してプルリクを作成します。
mainstagingは、それぞれ Vercel の本番環境とプレビュー環境に紐づけています。
developからstagingstagingからmainに対してプルリクをし、マージされたら Vercel のそれぞれの環境に自動でデプロイされるように設定しました。

コミットメッセージ

コミットメッセージの記述方法にはgit-czを使用しました。
git-cz は対話形式でメッセージを記述して、コミットを作成できるツールです。
以下のようなメリットがあると考えています。

  • prefix とそれに対応する絵文字により、コミットの種類がすぐに把握できる。
  • メッセージの記述方法が統一され、コミットログが読みやすい。
  • メッセージを記述する際に issue との紐付けを忘れないで済む。

GitHub Projects

👉 今回の Projects
レイアウトはボード、カラムは未処理優先事項進行中完了の4つを使用。
issue を作成したら自動で未処理に追加されるよう、ワークフローを設定。
issue と紐付けたコミットが main にマージされたときは、自動で完了へ移行。

GitHub CLI

GitHub CLI を利用することにより、issuepull requestに関する処理をわざわざブラウザ上で行う必要がなくなり、開発効率が爆上がりしました 💪
以下は開発時に特に使用していたissueprに関するコマンドのエイリアスです。

i: issue
ic: issue create
ie: issue edit
il: issue list
iv: issue view
p: pr
pc: pr create
pc-develop: pr create --base develop
pc-main: pr create --head staging --base main
pc-staging: pr create --head develop --base staging
pd: pr diff
pe: pr edit
pl: pr list
pm: pr merge --merge
pmd: pr merge --merge --delete-branch
ps: pr checkout
pv: pr view

Issue の作成、編集には VSCode を使用。
プルリクの作成時には、マージ元のheadとマージ先のbaseをあらかじめエイリアスとして固定した以下の3つを使い分けていました。

pc-develop: pr create --base develop
pc-main: pr create --head staging --base main
pc-staging: pr create --head develop --base staging
Clone this wiki locally