0. はじめに
kazumakishimoto(@kazuma_dev)です!
git-flow
を使ったブランチ
管理法です。
0-1. 全体の流れ
0-2. 本記事の対象者
- git-flowの使い方
0-3. 事前準備
- リポジトリ名やブランチ名は一例のため、適当に変更してください
1. git-flow準備
1-1. Homebrewインストール
local
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1-2. gitインストール
local
$ brew install git
1-3. git-flowインストール
local
$ brew install git-flow
1-4. ローカルリポジトリ作成
local
$ mkdir hogehoge
$ cd hogehoge
1-5. git-flow初期化
local
$ git flow init -d
1-6. リモートリポジトリ作成
1-7. リモートリポジトリ追加
local
$ git remote add origin https://github.com/kazumakishimoto/hogehoge.git
$ git push --all
2. git-flow開発
2-1. issue作成
2-2. featureブランチ共有
local
$ git flow feature start hogehoge#1
$ git flow feature publish hogehoge#1
2-3. リモートのdevelopブランチをpull
local
$ git pull origin develop
2-4. ローカル開発
local
$ git add -A .
$ git commit -m "hogehoge #1"
$ git push origin feature/hogehoge#1
2-5. GitHubでPR作成
2-6. GitHubでPRマージ
2-7. ローカルdevelopブランチでリモートdevelopブランチをpull
local
$ git checkout develop
$ git pull origin develop
2-8. マージ済みブランチ削除
local
$ git branch --merged|egrep -v '\*|develop|master'|xargs git branch -d
$ git remote prune origin
2-9. GitHubでclose issue
3. git-flowリリース
- Heoku側の設定は割愛
3-1. releaseブランチ作成
local
$ git flow release start 1.x
3-2. releaseブランチ共有
local
$ git flow release publish 1.x
3-3. releaseブランチ終了
-
⌘ + S
で保存
local
$ git flow release finish 1.x
3-4. releaseブランチタグ付け
- 追記後
⌘ + S
で保存
MERGE_MSG
#
# Write a message for tag:
# ver1.x
# Lines starting with '#' will be ignored.
+ Merge tag 'ver1.x' into develop
3-5. GitHubにpush
local
$ git push --all
3-6. Herokuデプロイ
- ※CI/CDツール使ってる方は下記不要(CircleCIでの自動デプロイ方法は下記記事参照)
local
$ git push heroku master
$ heroku run php artisan migrate:refresh --seed
Reference
- Githubでissue管理して開発しよう - Qiita
- GitHubのissueを活用した、個人アプリの開発手順を書いてみた - Qiita
- Git-flowって何? - Qiita
- git-flowを試す - Qiita
- git-flow・GitHub Flow 実践要点メモ - Qiita
- Gitでマージ済みブランチを一括削除 - Qiita
- Git-flowをざっと整理してみた | DevelopersIO
- git-flowの使い方 - 第3章 Github Flow/Git-Flowを使った運用 - [SMART]
- git-flow cheatsheet
- 【Laravel】CircleCI 2.1でPHPunit自動テスト × Heroku自動デプロイ