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

Git 201

Git 201

Branching Models basic, Merging & how Github's pull request work

Ca017edd68f0d216c4761445bf9f28e7?s=128

Dimitris Tsironis

May 31, 2013
Tweet

Transcript

  1. Git 201 FreeFriday @ Teipir

  2. Real quick...

  3. Dimitris Tsironis Front-end Engineer at BugSense, JavaScript lover || hater,

    Open-source & (Coffee)Script addict, Technology afficcionado
  4. Previously on Free Fridays...

  5. How can we work more effectively in a team?

  6. Introducing Branching have multiple versions of the same project work

    async & simultaneously safer & more clean way to do things very “cheap” branches
  7. Git This is where the Git magic is happening!

  8. creating a branch $ git branch <new-branch-name> # Creates a

    new branch $ git checkout <new-branch-name> # Switch to new branch $ git branch # Check your local branches
  9. creating a branch #2 # Creates a new branch and

    switches to it immediately $ git checkout -b <new-branch-name>
  10. Now, you can code as hard as you can!

  11. Cool story, bro! But, how can we move our code

    to our main branch and continue with our lives?
  12. Merging Merge two branches Keep the chances you want to

    keep You’re in control It’s easier in Git than in other VCS
  13. merging a local branch $ git checkout <dest-branch> # Switch

    to destination $ git merge <branch-name> # Merge the specified branch $ git log # Check if everything is fine
  14. Once you’ve finished... You should do some housekeeping!

  15. deleting a branch # Deletes branch, but keeps commits $

    git branch -d <branch-name> # Force deletes everything, both branch and its commits $ git branch -D <branch-name> # USE WISELY!!
  16. The Github way How Github handles branches & merging

  17. Branches on Github Nothing special here Push your branches on

    Github Has some awesome tools for branches
  18. pushing to Github # Push branch on Github $ git

    push origin <branch-name>
  19. Pull Requests A nice, Web 2.0 way to handle merges,

    branch and working in a team
  20. Pull requests Promoting collaboration Encouraging open source contributions (fork) Discussing

    features & changes on the go Merge without hassle and delete the branch
  21. The real power is in the details! Let’s see...

  22. Pull requests: reloaded Discussion for almost everything Can be created

    before coding starts You have a timeline history of commits Forum-like functionality lots of integrations and extra tools
  23. Extra tig (apt-get install tig, brew install tig) Github Help

    Git basics presentation Git documentation
  24. And, as always, practice, practice, PRACTICE!

  25. Thanks! @tsironakos