gitflow | git |
---|---|
git flow init |
git init |
git commit --allow-empty -m "Initial commit" |
|
git checkout -b develop master |
gitflow | git |
---|---|
N/A | git remote add origin [email protected]:MYACCOUNT/MYREPO |
gitflow | git |
---|---|
git flow feature start MYFEATURE |
git checkout -b feature/MYFEATURE develop |
gitflow | git |
---|---|
git flow feature publish MYFEATURE |
git checkout feature/MYFEATURE |
git push origin feature/MYFEATURE |
gitflow | git |
---|---|
git flow feature pull origin MYFEATURE |
git checkout feature/MYFEATURE |
git pull --rebase origin feature/MYFEATURE |
gitflow | git |
---|---|
git flow feature finish MYFEATURE |
git checkout develop |
git merge --no-ff feature/MYFEATURE |
|
git branch -d feature/MYFEATURE |
gitflow | git |
---|---|
N/A | git push origin develop |
git push origin :feature/MYFEATURE (if pushed) |
gitflow | git |
---|---|
git flow release start 1.2.0 |
git checkout -b release/1.2.0 develop |
gitflow | git |
---|---|
git flow release publish 1.2.0 |
git checkout release/1.2.0 |
git push origin release/1.2.0 |
gitflow | git |
---|---|
N/A | git checkout release/1.2.0 |
git pull --rebase origin release/1.2.0 |
gitflow | git |
---|---|
git flow release finish 1.2.0 |
git checkout master |
git merge --no-ff release/1.2.0 |
|
git tag -a 1.2.0 |
|
git checkout develop |
|
git merge --no-ff release/1.2.0 |
|
git branch -d release/1.2.0 |
gitflow | git |
---|---|
N/A | git push origin master |
git push origin develop |
|
git push origin --tags |
|
git push origin :release/1.2.0 (if pushed) |
gitflow | git |
---|---|
git flow hotfix start 1.2.1 [commit] |
git checkout -b hotfix/1.2.1 [commit] |
gitflow | git |
---|---|
git flow hotfix finish 1.2.1 |
git checkout master |
git merge --no-ff hotfix/1.2.1 |
|
git tag -a 1.2.1 |
|
git checkout develop |
|
git merge --no-ff hotfix/1.2.1 |
|
git branch -d hotfix/1.2.1 |
gitflow | git |
---|---|
N/A | git push origin master |
git push origin develop |
|
git push origin --tags |
|
git push origin :hotfix/1.2.1 (if pushed) |
@giovannipds Another reason that you might have a release branch that is started and not immediately finished is if you are required to do some intermediary step, such as user acceptance testing, before releasing. In this scenario you would want to have code ready for release on a release branch but also continue developing new features on your development branch.