Your SlideShare is downloading. ×
Git essentials
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Git essentials

2,492

Published on

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
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,492
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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

×