-
We don't know what changes are on staging and live servers
-
Deployments are hard because of multiple changes from different devs
-
Lack of code review
Change logo
Change background colour
Apply patch
☹️
☹️
Branches
- Master (Live)
- Develop (Staging)
No Merging
git merge
git rebase / git cherry-pick
Features
Master
Develop
- Manual deployments
- Single branch
- One commit per task
- Auto deployments
- One branch per task
- Can have multiple commits per task
- PR to push changes
- Single access
- Push changes directly
- Multi access
Example
Master
Develop
PM
DEV
Can you change footer links colour?
Ok!
$ git checkout -b task/id01
$ git commit -m "Change footer links to red"
$ git rebase feat/id01 develop
$ git push
$ git clone git@bitbucket.org:medialounge_repo/repo.git
Master
Develop
PM
DEV
Changes up in mldemo!
Client no likey, please change to blue
Ok!
$ git commit -m "Change footer links to blue"
$ git rebase feat/id01 develop
$ git push
Master
Develop
PM
DEV
Links changed to red (ID01)
Links changed to blue (ID01)
Changes up in mldemo!
Client loves it, push live
Master
Develop
PM
DEV
$ git rebase -i HEAD~2
$ git push origin task/id01
GK
-
We don't know what changes are on staging and live servers
-
Deployments are hard because of multiple changes from different devs
-
Lack of code review
-
We don't know what changes are on staging and live servers
-
Deployments are hard because of multiple changes from different devs
-
Lack of code review
Pros
-
Devs only deploy their changes
-
Automated CI system
-
Time
-
Complexity
-
Develop branch can get messy
Cons
Branches
- Identifying tasks
- Local branch development
- Code Review
Automatic
Manual
- Identifying tasks
Automatic
- Local branch development
Manual
New Dev Workflow
By Javier Villanueva
New Dev Workflow
- 732