$30 off During Our Annual Pro Sale. View Details »

Git the Core On, May the perForce be Gone

Git the Core On, May the perForce be Gone

I talk about my decade-long experience with Git as a Developer, and how it brings in news ways to collaborate compared to proprietary tools like Perforce.

Talk: https://youtu.be/YjtsQ-JjodM

Gopal S Akshintala

June 14, 2022
Tweet

More Decks by Gopal S Akshintala

Other Decks in Programming

Transcript

  1. Git ! the Core on, May the perForce be with

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

    Revenue Cloud ! @GopalAkshintala ! overfullstack.ga 2
  3. 3 — ! @GopalAkshintala " overfullstack.ga

  4. May the perForce be with you gone ·Manage Large Features

    ·Work on Multiple features in-parallel ·Sloppy GUI ·Any more… 4 — ! @GopalAkshintala " overfullstack.ga
  5. Perforce vs Git ·Proprietary vs Open source ·Simple vs Flexible

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

  7. Centralised 7 — ! @GopalAkshintala " overfullstack.ga

  8. Decentralised 8 — ! @GopalAkshintala " overfullstack.ga

  9. Workflow 9 — ! @GopalAkshintala " overfullstack.ga

  10. Perforce Simple Workflow ·Setup main ·Code ·Shelve ·Unshelve ·Submit ·Break

    the build (Optional, but Occasional ) 10 — ! @GopalAkshintala " overfullstack.ga
  11. But! Simple can mean Inflexible 11 — ! @GopalAkshintala "

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

  13. Pick what suits you the Best! ·Centralised Workflow ·Feature Branch

    Workflow ·Gitflow Workflow ·Forking Workflow ·Tailor make your own! ✂ 13 — ! @GopalAkshintala " overfullstack.ga
  14. Feature Branch Workflow 14 — ! @GopalAkshintala " overfullstack.ga

  15. 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
  16. How does Git improve my Productivity? ! 16 — !

    @GopalAkshintala " overfullstack.ga
  17. Large Features 17 — ! @GopalAkshintala " overfullstack.ga

  18. 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
  19. 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
  20. Work on Features in-parallel 20 — ! @GopalAkshintala " overfullstack.ga

  21. 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
  22. 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
  23. GUI 23 — ! @GopalAkshintala " overfullstack.ga

  24. 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
  25. 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
  26. Patching 26 — ! @GopalAkshintala " overfullstack.ga

  27. Patching - Perforce The Dark art ! 27 — !

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

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

  30. 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
  31. 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
  32. With Flexibility comes Complexity 32 — ! @GopalAkshintala " overfullstack.ga

  33. 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
  34. 34 — ! @GopalAkshintala " overfullstack.ga