|
|
@@ -0,0 +1,63 @@ |
|
|
|
# Git workflows |
|
|
|
|
|
|
|
- Not about CI/CD |
|
|
|
- Not about releases |
|
|
|
- Not about Agile |
|
|
|
- Not about storing artifacts |
|
|
|
|
|
|
|
- READ "The Science of DevOps"! |
|
|
|
|
|
|
|
- Interactive survey about pains and awesomeness in git (https://www.menti.com/) |
|
|
|
|
|
|
|
## Git flow |
|
|
|
- Atlassian's blog post |
|
|
|
- He thinks it's too complex |
|
|
|
- Lot of trolls |
|
|
|
- Pros: old enough: many tools support it, well defined |
|
|
|
- Cons: complex, a bit old |
|
|
|
|
|
|
|
## Centralized git workflow |
|
|
|
- push to master |
|
|
|
- need to be extremely disciplined |
|
|
|
- Pros: simple, trivial, nooverhead |
|
|
|
- Cons: no gate, lockstep, broken master, no isolation of work |
|
|
|
- It's the wild west |
|
|
|
|
|
|
|
## Git common-flow, pull-request workflow, merge-request workflow |
|
|
|
- Lot of changes merging on master at once |
|
|
|
- Painful to maintain long-lived branches |
|
|
|
- Gatekeeper |
|
|
|
- Lot of collaboration |
|
|
|
- Pros: simpleish, master is protected, ubiquitous, flexible |
|
|
|
- Cons: Non-atomic, many PR hanging, someone is a full-time gatekeeper |
|
|
|
|
|
|
|
## Git phlow |
|
|
|
- Praqma's workflow |
|
|
|
- Basically PR-workflow, but with a bot that tracks some specially named |
|
|
|
branches, test them, and if it works, merge them |
|
|
|
- Lot of automation |
|
|
|
|
|
|
|
## Submodules, subtree, subrepos |
|
|
|
|
|
|
|
- Try to avoid them, it's complicated |
|
|
|
|
|
|
|
## Take aways |
|
|
|
- The robots are coming, help them |
|
|
|
- Take the easy path, not the blocked one |
|
|
|
- Humans vs processes |
|
|
|
- Make it real |
|
|
|
- Keep it simple |
|
|
|
|
|
|
|
## Q/A |
|
|
|
|
|
|
|
- pair programming instead of code review |
|
|
|
- don't make a human catch what a robot could catch |
|
|
|
- architecture, design, can not be catch by a bot, but should be handled from |
|
|
|
the very beginning |
|
|
|
- concerns can be raised on master, after the merge, then fixed more quickly |
|
|
|
|
|
|
|
|
|
|
|
## Personal feedback |
|
|
|
|
|
|
|
Funny guy, very interactive workshop, lot of pros and cons. This is the guy we |
|
|
|
need to talk with about Octopus and our submodules. |