01 GIT CONFIGURATION (Configuring user information used across all local repositories)


git config --global user.name “Your Name” - Set the name that will be attached to your commits and tags.

git config --global user.email “you@example.com” - Set the e-mail address that will be attached to your commits and tags.

git config --global color.ui auto - Enable some colorization of Git output.


02 SETUP (Working with snapshots and the Git staging area)


git init [project name] - Create a new local repository in the current directory. If [project name] is provided, Git will create a new directory named [project name] and will initialize a repository inside it.

git clone <project url> - Downloads a project with the entire history from the remote repository.

git status - show modified files in working directory, staged for your next commit.

git add [file] - add a file as it looks now to your next commit (stage).

git reset - unstage a file while retaining the changes in working directory.

git diff - diff of what is changed but not staged.

git diff --staged - diff of what is staged but not yet committed

git commit -m "[descriptive message]" - commit your staged content as a new commit snapshot.


03 BRANCH & MERGE (Working with snapshots and the Git staging area.)


git branch - list your branches. a * will appear next to the currently active branch.

git branch [branch-name] - create a new branch at the current commit.

git checkout - switch to another branch and check it out into your working directory.

git merge [branch] - merge the specified branch’s history into the current one.

git log - show all commits in the current branch’s history.