• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Git essentials
 

Git essentials

on

  • 2,342 views

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.

Statistics

Views

Total Views
2,342
Views on SlideShare
2,323
Embed Views
19

Actions

Likes
0
Downloads
6
Comments
0

2 Embeds 19

http://librosweb.es 15
http://bitswapping.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Git essentials Git essentials Presentation Transcript

    • Git Essentials By Matthew Barlocker
    • 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
    • Creating a Repo, Staging, and Committing (terminal)
    • 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.
    • Commit Graph
    • Log, Diff, Reset and Revert (terminal)
    • 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.
    • 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!
    • Tagging, Branching, and Checkout
    • Tagging, Branching, and Checkout (terminal)
    • Tagging, Branching, and Checkout
    • Stash (terminal)
    • Merge vs Rebase ● Merge will create a merge commit. ● Rebase will rewrite history since the last commit in common.
    • Merge
    • Rebase
    • Merge vs Rebase ● Merge history cannot be reverted! ● Rebasing ruins sharing! ● In a fast-forward, these do the same thing.
    • Merge & Rebase (terminal)
    • 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'.
    • Remotes & Clone (terminal)
    • Fetch, Pull and Push (terminal)
    • Fun Commands to Research ● `git cherry-pick` ● `git bisect` ● `git add -i` ● `git merge-base` ● `git rebase -i`
    • Any Questions?
    • 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