Slide 1

Slide 1 text

Git ! the Core on, May the perForce be with you gone ! @GopalAkshintala overfullstack.ga

Slide 2

Slide 2 text

I'm Gopal S Akshintala Lead ! Member of Technical Staff Revenue Cloud ! @GopalAkshintala ! overfullstack.ga 2

Slide 3

Slide 3 text

3 — ! @GopalAkshintala " overfullstack.ga

Slide 4

Slide 4 text

May the perForce be with you gone ·Manage Large Features ·Work on Multiple features in-parallel ·Sloppy GUI ·Any more… 4 — ! @GopalAkshintala " overfullstack.ga

Slide 5

Slide 5 text

Perforce vs Git ·Proprietary vs Open source ·Simple vs Flexible ·Centralised vs Decentralised 5 — ! @GopalAkshintala " overfullstack.ga

Slide 6

Slide 6 text

Centralised vs Decentralised 6 — ! @GopalAkshintala " overfullstack.ga

Slide 7

Slide 7 text

Centralised 7 — ! @GopalAkshintala " overfullstack.ga

Slide 8

Slide 8 text

Decentralised 8 — ! @GopalAkshintala " overfullstack.ga

Slide 9

Slide 9 text

Workflow 9 — ! @GopalAkshintala " overfullstack.ga

Slide 10

Slide 10 text

Perforce Simple Workflow ·Setup main ·Code ·Shelve ·Unshelve ·Submit ·Break the build (Optional, but Occasional ) 10 — ! @GopalAkshintala " overfullstack.ga

Slide 11

Slide 11 text

But! Simple can mean Inflexible 11 — ! @GopalAkshintala " overfullstack.ga

Slide 12

Slide 12 text

Git nailed it! ! 12 — ! @GopalAkshintala " overfullstack.ga

Slide 13

Slide 13 text

Pick what suits you the Best! ·Centralised Workflow ·Feature Branch Workflow ·Gitflow Workflow ·Forking Workflow ·Tailor make your own! ✂ 13 — ! @GopalAkshintala " overfullstack.ga

Slide 14

Slide 14 text

Feature Branch Workflow 14 — ! @GopalAkshintala " overfullstack.ga

Slide 15

Slide 15 text

Feature Branch Workflow ·Keep your dev and main branches holy ·Diverge at 2 levels ·Clone or Fork + Clone ·A new branch out of local main ·Frequently sync local main with origin/main ·Frequently merge/rebase feature branch onto local main ·Delete the local + tracking feature branches, once feature gets merged into origin/main 15 — ! @GopalAkshintala " overfullstack.ga

Slide 16

Slide 16 text

How does Git improve my Productivity? ! 16 — ! @GopalAkshintala " overfullstack.ga

Slide 17

Slide 17 text

Large Features 17 — ! @GopalAkshintala " overfullstack.ga

Slide 18

Slide 18 text

Large Features - Perforce ·My PR has grown too large and now my build is failing or server isn’t starting, should I shelve all my changes and try? (And then I notice 50 outdated files ) ·The PR is too large to review, can you break it? (A 3ptr just to break the PR ) 18 — ! @GopalAkshintala " overfullstack.ga

Slide 19

Slide 19 text

Large Features - Git ·Break them into smaller commits ·Staging area helps you to be in the zone ·Do more offline (No VPN + TmpAuth needed) 19 — ! @GopalAkshintala " overfullstack.ga

Slide 20

Slide 20 text

Work on Features in-parallel 20 — ! @GopalAkshintala " overfullstack.ga

Slide 21

Slide 21 text

Work on Features in-parallel - Perforce Shelve and unshelve, until I mess-up and learn the lesson to never try this again. ! 21 — ! @GopalAkshintala " overfullstack.ga

Slide 22

Slide 22 text

Work on Features in-parallel - Git ·Parallel work goes into different Branches ⋔ ·Switch between branches with ease ·git stash ~ shelve in perforce, handy while switching 22 — ! @GopalAkshintala " overfullstack.ga

Slide 23

Slide 23 text

GUI 23 — ! @GopalAkshintala " overfullstack.ga

Slide 24

Slide 24 text

GUI - Perforce ·Age old GUI, with no alternative and no passion to improve ! (It reminds me of Windows XP ) ·Swarm for code-review is so limited 24 — ! @GopalAkshintala " overfullstack.ga

Slide 25

Slide 25 text

GUI - Git ·Git IDE integration (a killer ) ·SourceTree ·Github desktop ·git.soma or any git hosting platform is eons ahead of swarm 25 — ! @GopalAkshintala " overfullstack.ga

Slide 26

Slide 26 text

Patching 26 — ! @GopalAkshintala " overfullstack.ga

Slide 27

Slide 27 text

Patching - Perforce The Dark art ! 27 — ! @GopalAkshintala " overfullstack.ga

Slide 28

Slide 28 text

Patching - Git ·A command away ·Cherry-picking ! , a cute feature 28 — ! @GopalAkshintala " overfullstack.ga

Slide 29

Slide 29 text

Git is Ruling ! 29 — ! @GopalAkshintala " overfullstack.ga

Slide 30

Slide 30 text

Git is Ruling ·Thriving community, solve any problem or doubt with a simple Google search ·Goto for any OSS ·Proven for Mega projects ·Android ·Ubuntu ·Goes hand-in-hand with the modern module structure 30 — ! @GopalAkshintala " overfullstack.ga

Slide 31

Slide 31 text

No need to wait! Incrementally move some pieces to off-core managed by git.soma ·Vader - Fully off-core bean validation framework ·Loki - hybrid with an off-core companion 31 — ! @GopalAkshintala " overfullstack.ga

Slide 32

Slide 32 text

With Flexibility comes Complexity 32 — ! @GopalAkshintala " overfullstack.ga

Slide 33

Slide 33 text

With Flexibility comes Complexity ·Simplicity vs Flexibility ·Mac vs Linux ·Maven vs Gradle ·Flexible tools need cognisance ·Learn your 10 commands ·merge vs rebase 33 — ! @GopalAkshintala " overfullstack.ga

Slide 34

Slide 34 text

34 — ! @GopalAkshintala " overfullstack.ga