• Like
Git essentials
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Originally presented at the Northeast PHP 2013 conference. …

Originally presented at the Northeast PHP 2013 conference.

Git is hard to learn, but that's not a good excuse to ignore it. This presentation aims to teach the bare essentials for operating a git repository.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Git Essentials By Matthew Barlocker
  • 2. The Barlocker ● Chief Architect at Lucid Software Inc ● Used Subversion and Git since 2006 ● Graduated with B.S. from BYU in 2008 ● Developed software for the following industries: – Network Security – Social Gaming – Financial – Productivity
  • 3. Creating a Repo, Staging, and Committing (terminal)
  • 4. Creating, Staging, and Committing ● Git repos can be created anywhere. ● Only the staging area will be committed. ● Every commit is identified by an md5 hash generated by git.
  • 5. Commit Graph
  • 6. Log, Diff, Reset and Revert (terminal)
  • 7. Log, Diff and Revert ● Reverting in Subversion is NOT the same as reverting in Git. Reverting in Git is reversing a commit. ● `git revert` will keep the bad commit in the history. `git reset --hard` will not.
  • 8. Tagging, Branching, and Checkout ● HEAD is the working directory. ● Everything happens on HEAD – committing, merging, rebasing, cherry-picking, etc. ● Branching is easy. Use them for everything!
  • 9. Tagging, Branching, and Checkout
  • 10. Tagging, Branching, and Checkout (terminal)
  • 11. Tagging, Branching, and Checkout
  • 12. Stash (terminal)
  • 13. Merge vs Rebase ● Merge will create a merge commit. ● Rebase will rewrite history since the last commit in common.
  • 14. Merge
  • 15. Rebase
  • 16. Merge vs Rebase ● Merge history cannot be reverted! ● Rebasing ruins sharing! ● In a fast-forward, these do the same thing.
  • 17. Merge & Rebase (terminal)
  • 18. Remotes ● Every repository has a full clone of every commit, tag, and branch. ● “Remotes” are other clones of the same repository. ● The repository you cloned from is always called 'origin'.
  • 19. Remotes & Clone (terminal)
  • 20. Fetch, Pull and Push (terminal)
  • 21. Fun Commands to Research ● `git cherry-pick` ● `git bisect` ● `git add -i` ● `git merge-base` ● `git rebase -i`
  • 22. Any Questions?
  • 23. Lucid Software Inc ● Building the next generation of collaborative web applications ● VC funded, high growth, profitable ● Graduates from Harvard, MIT, Stanford ● Team has worked at Google, Amazon, Microsoft https://www.lucidchart.com/jobs