Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

More Decks by Gopal S Akshintala

Other Decks in Programming


  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. May the perForce be with you gone ·Manage Large Features

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

    ·Centralised vs Decentralised 5 — ! @GopalAkshintala " overfullstack.ga
  5. Perforce Simple Workflow ·Setup main ·Code ·Shelve ·Unshelve ·Submit ·Break

    the build (Optional, but Occasional ) 10 — ! @GopalAkshintala " overfullstack.ga
  6. Pick what suits you the Best! ·Centralised Workflow ·Feature Branch

    Workflow ·Gitflow Workflow ·Forking Workflow ·Tailor make your own! ✂ 13 — ! @GopalAkshintala " overfullstack.ga
  7. 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
  8. How does Git improve my Productivity? ! 16 — !

    @GopalAkshintala " overfullstack.ga
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. Patching - Perforce The Dark art ! 27 — !

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

    cute feature 28 — ! @GopalAkshintala " overfullstack.ga
  17. 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
  18. 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
  19. 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