Git Cheet Sheet

Git Cheet Sheet

Day 12 of #90daysofdevops challenge

SETUP:

Configuring user information used across all local repositories.

  1. git config --global user.name "[Firstname lastname]" - Set a name that is identifiable for credit when reviewing version history.

  2. git config --global user.email "[valid email]" - Set an email address that will be associated with each history maker.

  3. git config -- global color.ui auto - Set automatic command line colouring for git for easy reviewing.

SETUP AND INIT:

Configuring user information, initializing and cloning repositories.

  1. git init - Initialize an existing directory as a git repository.

  2. git clone [url] - Retrieve an entire repository from a hosted location via URL.

STAGE AND SNAPSHOT:

Working with snapshots and the Git staging area.

  1. git status - Show modified files in the working directory, staged for your next commit.

  2. git add [file]- Add a file as it looks now to your next commit.

  3. git reset [file] - Unstage a file while retaining the changes in working directory.

  4. git diff - Diff of what is changed but not yet staged.

  5. git diff --staged - Diff of what is staged but not yet committed.

  6. git commit -a - Commit all local changes in tracked files.

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

INSPECT AND COMPARE :

Examining logs,diffs and object information.

  1. git log - Show all commits in the current branch's history.

  2. git log branchB..branchA - Show the commits on branchA that are not on branchB.

  3. git log --follow[file] - Show the commits that changed the file, even across renames.

  4. git diff branchB...branchA - Show the diff of what is in branchA that is not in branchB

  5. git show [SHA] - Show any object in Git in a human-readable format.

SHARE AND UPDATE:

Retrieving updates from another repository and updating local repos.

  1. git remote add [alias][url] - Add a git URL as an alias.

  2. git fetch [alias] - Fetch down all the branches from that Git remote.

  3. git merge [alias]/[branch] - Merge a remote branch into your current branch to bring it up to date.

  4. git push [alias][branch]- Transmit local branch commits to the remote repository branch.

  5. git pull <remote><branch> - Fetch remote version and update local branch.

TRACKING PATH CHANGES:

  1. git rm [file] - Delete the file from the project and stage the removal for commit.

  2. git mv [existing path][new-path] - Change an existing file path and stage the move.

  3. git log --stat -M - Show all commit logs with an indication of any paths that moved.

BRANCH AND MERGE :

Isolating work in branches, changing context and integrating changes.

  1. git checkout <branch>- Switch to another branch and check it out in your working directory.

  2. git branch - List your branches.

  3. git branch -d <branch> - Delete a branch.

  4. git fetch remote - Fetch all branches from the remote repo.

  5. git merge branch - Merge the specified branch's history into the current branch.

REWRITE HISTORY:

Rewriting branches, updating commits and clearing history.

git rebase [branch] - Apply any commits of the current branch ahead of the specified branch.

git reset [file] - Unstage a file while retaining the changes in the working directory.

TEMPORARY COMMITS:

Temporarily store modified, tracked files to change branches.

  1. git stash - Save modified and staged changes.

  2. git stash list - List stack -order of stashed file changes.

  3. git stash pop- Write working from the top of the stash stack.

  4. git stash drop - Discard the changes from the top of the stash stack**.**

EXTRA COMMANDS :

git revert <branch> - Creates a new commit to revert the specified commit.

Thanks for reading!!!!!!

HAPPY LEARNING!!!!!