git has a tremendous learning curve
Everyone learns commit/push/pull/branch and stops
Documentation is incredibly complex
Updates remote refs using local refs, while sending objects necessary to complete the given refs.
git (n): British slang for "A stupid person"
"I've invented two things: Linux and git. Both were named after me" -- Linus Torvaldsac31a31ca5b899f848aca4791cbca49fcbaa9a17
Turns out programming is a team sport
commit 32f4410abb2a901016c4a8b23c4b487e36be9916
Author: Randall Koutnik <[email protected]>
Date: Tue Jun 14 15:05:51 2016 -0700
Fix error on alert page
commit 6280ec89e3884e91da5c30faf8b4a55218bcac8b
Author: Igor Zhukov <[email protected]>
Date: Thu Jun 30 00:46:43 2016 +0300
fix(copy): fix handling of typed subarrays
Previously, it would return a copy of the whole original typed array, not its slice.
Now, the `byteOffset` and `length` are also preserved.
Fixes #14842
Closes #14845
git rebase
Allows you to mess with history in various exciting ways
Two main scenarios:
"Those without write access to history are doomed if they rebase it"
git log
Displays a list of all of the commits on the current branch
git reflog
Lists all the commits you've looked at
Saves the day when a commit has been overridden and is no longer in regular history.
git reset
Updates the branch and/or code to another commit
Useful when you want to remove an accidental commit or when you realize you've been digging in the wrong rabbit hole
git cherry-pick
Takes a commit that exists somewhere locally and adds it to the current branch.
Great for pulling in a single commit from another branch without needing to do a full merge/rebase. Also nice for pulling things from reflog
git cherry-pick abc123
git stash
Stores your current work without making a commit
Nice to have when you need to switch to another branch for some reason.