An open API service indexing awesome lists of open source software.

https://github.com/hisasann/git-staging-flow


https://github.com/hisasann/git-staging-flow

git github

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# ๐Ÿฅญ git-staging-flow

## ใƒ‡ใƒ—ใƒญใ‚คๅ…ˆใฎๅ‰ๆ

`ใƒกใ‚คใƒณใจใชใ‚‹ใƒ–ใƒฉใƒณใƒใŸใก` ใฏใใ‚Œใžใ‚Œไธ€ใคใšใคใƒ‡ใƒ—ใƒญใ‚คใ™ใ‚‹ๅ…ˆ๏ผˆใŸใจใˆใฐใ‚ตใƒผใƒใƒผ๏ผ‰ใŒใ‚ใ‚‹ใจใ—ใพใ™

## ๐Ÿ— ใƒกใ‚คใƒณใจใชใ‚‹ใƒ–ใƒฉใƒณใƒใŸใก

### develop ใƒ–ใƒฉใƒณใƒ

้–‹็™บ็”จ

็Šถๆณใซใ‚ˆใฃใฆใฏ่ค‡ๆ•ฐๅ€‹ไฝœใ‚‰ใ‚Œใ‚‹ๅ ดๅˆใŒใ‚ใ‚‹

### staging ใƒ–ใƒฉใƒณใƒ

QA ใ‚„ใ€ใŠๅฎขใ•ใ‚“็ขบ่ชใชใฉใ€้–‹็™บ่€…ไปฅๅค–ใฎๆ–น็”จ

็Šถๆณใซใ‚ˆใฃใฆใฏ่ค‡ๆ•ฐๅ€‹ไฝœใ‚‰ใ‚Œใ‚‹ๅ ดๅˆใŒใ‚ใ‚‹

### production ใƒ–ใƒฉใƒณใƒ

ๆœฌ็•ช็”จ

ๅŸบๆœฌ็š„ใซไธ€ใคใ—ใ‹ใชใ„

## ๐Ÿœ ไฝœใฃใฆใฏๅ‰Š้™คใ•ใ‚Œใ‚‹ใƒ–ใƒฉใƒณใƒใŸใก

### feature/* ใƒ–ใƒฉใƒณใƒ

ๆ–ฐๆฉŸ่ƒฝใฎๅฎŸ่ฃ…ใง `develop` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ไฝœๆˆใ•ใ‚Œใพใ™

### fix/* ใƒ–ใƒฉใƒณใƒ

QA ใงใƒใ‚ฐใŒใ‚ใฃใŸๅ ดๅˆใง `develop` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ไฝœๆˆใ•ใ‚Œใพใ™

### hotfix/* ใƒ–ใƒฉใƒณใƒ

ๆœฌ็•ชใงใƒใ‚ฐใŒใ‚ใฃใŸๅ ดๅˆใซ `production` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ไฝœๆˆใ•ใ‚Œใพใ™

## ๐Ÿฅ˜ ้–‹็™บใ‚’ใ™ใ‚‹ใจใใฎใƒ•ใƒญใƒผ

develop ใƒ–ใƒฉใƒณใƒ -> feature ใƒ–ใƒฉใƒณใƒ -> develop ใƒ–ใƒฉใƒณใƒ

1. `develop` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ `feature/first` ใƒ–ใƒฉใƒณใƒใ‚’ไฝœๆˆใ™ใ‚‹
1. `feature/first` ใงไฝœๆฅญใ‚’ใ— **commit** ใ™ใ‚‹
1. ไฝœๆฅญใŒๅฎŒไบ†ใ—ใŸใ‚‰ใƒญใƒผใ‚ซใƒซใฎ `feature/first` ใƒ–ใƒฉใƒณใƒใ‚’ใ€ใƒชใƒขใƒผใƒˆใซ **push** ใ™ใ‚‹
1. github.com ใฎใƒชใƒใ‚ธใƒˆใƒชใƒšใƒผใ‚ธใซ่กŒใใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ไฝœๆˆใ™ใ‚‹
* into `develop` from `feature/first`
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใฎใƒฌใƒ“ใƒฅใƒผใ‚’ **Reviewers** ใ‹ใ‚‰ๅ—ใ‘ใ‚‹
1. **Reviewers** ใŒ **approved** ใ™ใ‚‹
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹
1. ใ“ใ“ใง `develop` ใƒ–ใƒฉใƒณใƒใŒ **ใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ
1. `feature/first` ใƒ–ใƒฉใƒณใƒใ‚’ delete ใ™ใ‚‹

```
* d87f0c9 (origin/develop) Merge pull request #1 from hisasann/feature/first
|\
| * 361dd3f (origin/feature/first, feature/first) first commit to feature/first
|/
* a34f262 (origin/staging, origin/production, staging, production) first commit
```

## ๐Ÿฅง QA ใ‚„ใŠๅฎขใ•ใ‚“็ขบ่ชใฎใŸใ‚ใฎใƒ•ใƒญใƒผ

develop ใƒ–ใƒฉใƒณใƒ -> staging ใƒ–ใƒฉใƒณใƒ

1. github ไธŠใง **New pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. base: `staging` ใƒ–ใƒฉใƒณใƒ <- `develop` ใƒ–ใƒฉใƒณใƒใ‚’้ธๆŠžใ™ใ‚‹
1. ใ‚ฟใ‚คใƒˆใƒซใ‚„ใ‚ณใƒกใƒณใƒˆใ‚’ๆ›ธใ
1. **Create pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
* into `staging` from `develop`
1. **Merge pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. **Confirm merge** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. ใ“ใ“ใง `staging` ใƒ–ใƒฉใƒณใƒใŒ **ใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ
1. [Branches](https://github.com/hisasann/git-staging-flow/settings/branches) ใง `develop`, `staging` ใƒ–ใƒฉใƒณใƒใ‚’ไฟ่ญทใ—ใฆใ„ใ‚‹ใฎใงใƒ–ใƒฉใƒณใƒใฎๅ‰Š้™คใฏใงใใพใ›ใ‚“

## ๐Ÿ ๆœฌ็•ชใธใฎใƒ‡ใƒ—ใƒญใ‚คใƒ•ใƒญใƒผ

staging ใƒ–ใƒฉใƒณใƒ -> production ใƒ–ใƒฉใƒณใƒ

1. github ไธŠใง **New pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. base: `production` ใƒ–ใƒฉใƒณใƒ <- `staging` ใƒ–ใƒฉใƒณใƒใ‚’้ธๆŠžใ™ใ‚‹
1. ใ‚ฟใ‚คใƒˆใƒซใ‚„ใ‚ณใƒกใƒณใƒˆใ‚’ๆ›ธใ
1. **Create pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
* into `production` from `staging`
1. **Merge pull request** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. **Confirm merge** ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹
1. [Branches](https://github.com/hisasann/git-staging-flow/settings/branches) ใง `develop`, `staging` ใƒ–ใƒฉใƒณใƒใ‚’ไฟ่ญทใ—ใฆใ„ใ‚‹ใฎใงใƒ–ใƒฉใƒณใƒใฎๅ‰Š้™คใฏใงใใพใ›ใ‚“
1. ใ“ใ“ใง `production` ใƒ–ใƒฉใƒณใƒใŒ **ใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ
1. ใƒชใƒชใƒผใ‚นใ•ใ‚ŒใŸใƒใƒผใ‚ธใƒงใƒณใ‚’ github ไธŠใงใƒชใƒชใƒผใ‚นไฝœๆฅญใ‚’่กŒใ†
* [Release ไธ€็•ชๆœ€ๅˆใฎใƒชใƒชใƒผใ‚น ยท hisasann/git-staging-flow](https://github.com/hisasann/git-staging-flow/releases/tag/v0.0.1)

## ๐Ÿซ QA ใงใƒใ‚ฐใŒ็™บ็”Ÿใ—ใŸใฎใง็›ดใ™

QA ใฏ `staging` ใƒ–ใƒฉใƒณใƒใง่กŒใฃใฆใ„ใ‚‹ๅ‰ๆใงใ™

develop ใƒ–ใƒฉใƒณใƒ -> fix ใƒ–ใƒฉใƒณใƒ -> develop ใƒ–ใƒฉใƒณใƒ -> staging ใƒ–ใƒฉใƒณใƒ

1. github ใง **issue** ใ‚’ไฝœๆˆใ™ใ‚‹
* [stagingใงใปใ’ใตใŒ็”ป้ขใŒ่กจ็คบใ•ใ‚Œใชใ„ ยท Issue #5 ยท hisasann/git-staging-flow](https://github.com/hisasann/git-staging-flow/issues/5)
1. `develop` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ `fix/first` ใƒ–ใƒฉใƒณใƒใ‚’ไฝœๆˆใ™ใ‚‹
1. `fix/first` ใงไฝœๆฅญใ‚’ใ— **commit** ใ™ใ‚‹
1. ไฝœๆฅญใŒๅฎŒไบ†ใ—ใŸใ‚‰ใƒญใƒผใ‚ซใƒซใฎ `fix/first` ใƒ–ใƒฉใƒณใƒใ‚’ใ€ใƒชใƒขใƒผใƒˆใซ **push** ใ™ใ‚‹
1. github.com ใฎใƒชใƒใ‚ธใƒˆใƒชใƒšใƒผใ‚ธใซ่กŒใใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ไฝœๆˆใ™ใ‚‹
* into `develop` from `fix/first`
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใฎใƒฌใƒ“ใƒฅใƒผใ‚’ **Reviewers** ใ‹ใ‚‰ๅ—ใ‘ใ‚‹
1. **Reviewers** ใŒ **approved** ใ™ใ‚‹
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹
1. ใ“ใ“ใง `develop` ใƒ–ใƒฉใƒณใƒใŒ **ใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ
1. `fix/first` ใƒ–ใƒฉใƒณใƒใ‚’ delete ใ™ใ‚‹
1. ใ“ใ“ใ‹ใ‚‰ๅ…ˆใฏ [QA ใ‚„ใŠๅฎขใ•ใ‚“็ขบ่ชใฎใŸใ‚ใฎใƒ•ใƒญใƒผ](https://github.com/hisasann/git-staging-flow#-qa-%E3%82%84%E3%81%8A%E5%AE%A2%E3%81%95%E3%82%93%E7%A2%BA%E8%AA%8D%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%AD%E3%83%BC) ใ‚’ๅ‚็…ง

## ๐Ÿ– ๆœฌ็•ชใงใƒใ‚ฐใŒ็™บ็”Ÿใ—ใŸใฎใง็›ดใ™

production ใƒ–ใƒฉใƒณใƒ -> develop-* ใƒ–ใƒฉใƒณใƒ -> hotfix ใƒ–ใƒฉใƒณใƒ -> develop-* ใƒ–ใƒฉใƒณใƒ -> staging-* ใƒ–ใƒฉใƒณใƒ -> production ใƒ–ใƒฉใƒณใƒ

1. github ใง **issue** ใ‚’ไฝœๆˆใ™ใ‚‹
1. `production` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใ‚’ไฝœๆˆใ™ใ‚‹
1. ใƒญใƒผใ‚ซใƒซใฎ `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใ‚’ใ€ใƒชใƒขใƒผใƒˆใซ **push** ใ™ใ‚‹
1. ใ“ใ“ใง `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใŒ **ใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ

`develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใจใ—ใฆใ‚‹ใฎใฏใ€ `develop` ใƒ–ใƒฉใƒณใƒใŒใ™ใงใซๆ–ฐ่ฆ้–‹็™บใง **commit** ใŒ้€ฒใ‚“ใงใ„ใ‚‹ใจๆƒณๅฎšใ—ใŸๅ ดๅˆใฎๅ‘ฝๅใงใ™

ไธ€ๆ™‚็š„ใซ `develop` ใ‚ตใƒผใƒใƒผใฏใ€ `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใŒใƒ‡ใƒ—ใƒญใ‚คใ•ใ‚Œใ‚‹ๆƒณๅฎšใงใ™

1. `develop` ใ‚ตใƒผใƒใƒผใงๆœฌ็•ชใฎใƒใ‚ฐใŒ็™บ็”Ÿใ™ใ‚‹ใ‹ใ‚’็ขบ่ชใ™ใ‚‹
1. ๅ†็พใ—ใŸๅ ดๅˆใ€ `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใ‹ใ‚‰ `hotfix/first` ใƒ–ใƒฉใƒณใƒใ‚’ไฝœๆˆใ™ใ‚‹
1. `hotfix/first` ใงไฝœๆฅญใ‚’ใ— **commit** ใ™ใ‚‹
1. ไฝœๆฅญใŒๅฎŒไบ†ใ—ใŸใ‚‰ใƒญใƒผใ‚ซใƒซใฎ `hotfix/first` ใƒ–ใƒฉใƒณใƒใ‚’ใ€ใƒชใƒขใƒผใƒˆใซ **push** ใ™ใ‚‹
1. github.com ใฎใƒชใƒใ‚ธใƒˆใƒชใƒšใƒผใ‚ธใซ่กŒใใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ไฝœๆˆใ™ใ‚‹
* into `develop-hotfix-XXX` from `hotfix/first`
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใฎใƒฌใƒ“ใƒฅใƒผใ‚’ **Reviewers** ใ‹ใ‚‰ๅ—ใ‘ใ‚‹
1. **Reviewers** ใŒ **approved** ใ™ใ‚‹
1. ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ใƒžใƒผใ‚ธใ™ใ‚‹
1. ใ“ใ“ใง `develop-hotfix-XXX` ใƒ–ใƒฉใƒณใƒใŒ **ๅ†ๅบฆใƒ‡ใƒ—ใƒญใ‚ค** ใ•ใ‚Œใ‚‹ใ‚คใƒกใƒผใ‚ธ
1. `hotfix/first` ใƒ–ใƒฉใƒณใƒใ‚’ delete ใ™ใ‚‹
1. ใ“ใ“ใพใงใใŸใ‚‰ QA ใ™ใ‚‹ [QA ใ‚„ใŠๅฎขใ•ใ‚“็ขบ่ชใฎใŸใ‚ใฎใƒ•ใƒญใƒผ](https://github.com/hisasann/git-staging-flow#-qa-%E3%82%84%E3%81%8A%E5%AE%A2%E3%81%95%E3%82%93%E7%A2%BA%E8%AA%8D%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%AD%E3%83%BC) ใ‚’ๅ‚็…ง
1. QA ใŒ้€šใฃใŸใ‚‰ๆœฌ็•ชใธ [ๆœฌ็•ชใธใฎใƒ‡ใƒ—ใƒญใ‚คใƒ•ใƒญใƒผ](https://github.com/hisasann/git-staging-flow#-%E6%9C%AC%E7%95%AA%E3%81%B8%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%83%95%E3%83%AD%E3%83%BC)