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

Getting the gist of git

Getting the gist of git

Juan Andrés Diana

March 15, 2019
Tweet

More Decks by Juan Andrés Diana

Other Decks in Technology

Transcript

  1. How to use git? Talk: “git for svn users” by

    Cristian Book: git-scm.com/book Ch. 3: Branching
  2. Fear is the path to the dark side Fear leads

    to anger Anger leads to hate Hate leads to suffering
  3. History Git was inspired by CVS in a negative way

    “What would CVS never ever do?”
  4. History Git was inspired by CVS BitKeeper in a negative

    way “What would CVS never ever do?” in a positive way “It was the SCM that taught me why
 there’s a point in using it”
  5. History 2005: Mini crisis @ Linux Kernel dev But some

    tried to reverse engineer it. So they breached the T&C and had to find another tool The Linux Kernel was using BitKeeper for SCM
  6. History A SCM worth using must… Be distributed Be performant

    Guarantee the integrity of the content There was no other tool that provided these!
  7. History "I decided I could write something better than everything

    out there in two weeks. And I was right.” Linus Torvalds
  8. Distributed No repo is more important than any other Branching

    is very easy and cheap Everyone has their own branch of the repo
  9. Distributed No repo is more important than any other Branching

    is very easy and cheap Merging naturally happens more often Everyone has their own branch of the repo
  10. Distributed No repo is more important than any other Branching

    is very easy and cheap Merging naturally happens more often Free backups Everyone has their own branch of the repo
  11. Distributed No repo is more important than any other Branching

    is very easy and cheap Merging naturally happens more often Free backups No “commit access” non-sense (for Open Source projects) Everyone has their own branch of the repo
  12. Performant Git tracks content (NOT files) You cannot checkout a

    directory Corollary: Different components go on different repositories
  13. Performant Git tracks content (NOT files) Going over the network

    kills the performance You cannot checkout a directory Corollary: Different components go on different repositories A commit taking 30s is pretty bad when you’re used to 0.1s
  14. Performant Git tracks content (NOT files) Going over the network

    kills the performance You cannot checkout a directory Corollary: Different components go on different repositories A commit taking 30s is pretty bad when you’re used to 0.1s The same file in different branches is stored just once Checking out a branch takes < 1s Git even compresses the content
  15. Integrity It’s the content that actually matters, not the files

    The SHA1 of the commit reflects the whole content (including the whole history)
  16. Integrity It’s the content that actually matters, not the files

    The SHA1 of the commit reflects the whole content (including the whole history) SVN provides no integrity guarantees