Your SlideShare is downloading. ×
0
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
Git essentials
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,523

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,523
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
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

×