Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 20, 2022 06:49 pm GMT

Git Cheat Sheet (50 commands Free PDF and poster)

I was tired of looking up the same common Git commands - so I made a cheat sheet that I could print and put on my office wall.

This cheat sheet contains 50 commonly used Git commands on the following topics:

  • Setting up Git
  • Starting a project
  • Making a change
  • Basic concepts
  • Branching
  • Merging
  • Rebasing
  • Undoing things
  • Reviewing your repo
  • Stashing
  • Synchronising local and remote repositories

FREE Git Commands Cheat Sheet PDF

One page PDF to make it easy to copy and paste in commands.

Download the free PDF here

Both PDF and poster are available in Light Mode and Dark Mode:

Git cheat sheet poster in light mode

Git cheat sheet poster in dark mode

Git Cheat Sheet Poster

Order a physical A3 poster for your office wall - so you can quickly look up commands, and keep them at the top of your head.

It comes in thick durable paper, and a matte, light-absorbing finish.

Order a physical poster here

Here's mine on my office wall:

The Git cheat sheet poster on my office wall

Here are all of the commands from the cheat sheet:

Setup

Set the name and email that will be attached to your commits and tags

$ git config --global user.name "Danny Adams"$ git config --global user.email "[email protected]"

Starting a Project with Git

Create a local repo (omit <directory> to initialise the current directory as a git repo)

$ git init <directory>

Download a remote repo

$ git clone <url>

Make a Change

Add a file to staging

$ git add <file>

Stage all files

$ git add .

Commit all staged files to git

$ git commit -m "commit message"

Add all changes made to tracked files & commit

$ git commit -am "commit message"

Basic Git Concepts

main: default development branch
origin: default upstream repo
HEAD: current branch
HEAD^: parent of HEAD
HEAD~4: great-great grandparent of HEAD

Branches

List all local branches. Add -r flag to show all remote branches. -a flag for all branches.

$ git branch

Create a new branch

$ git branch <new-branch>

Switch to a branch & update the working directory

$ git checkout <branch>

Create a new branch and switch to it

$ git checkout -b <newbranch>

Delete a merged branch

$ git branch -d <branch>

Delete a branch, whether merged or
not

$ git branch -D <branch>

Add a tag to current commit (often used for new version releases)

$ git tag <tag-name>

Merging

Merge branch a into branch b. Add --no-ff option for no-fast-forward merge

fast-forward vs no-fast-forward merge in Git

$ git checkout b$ git merge a

Merge & squash all commits into one new commit

$ git merge --squash a

Rebasing

Rebase feature branch onto main (to incorporate new changes made to main). Prevents unnecessary merge commits into feature, keeping history clean

Rebasing feature onto main in Git

$ git checkout feature$ git rebase main

Interactively clean up a branches commits before rebasing onto main

$ git rebase -i main

Interactively rebase the last 3 commits on current branch

$ git rebase -i Head~3

Undoing Things

Move (&/or rename) a file & stage move

$ git mv <existing_path> <new_path>

Remove a file from working directory & staging area, then stage the removal

$ git rm <file>

Remove from staging area only

$ git rm --cached <file>

View a previous commit (READ only)

$ git checkout <commit_ID>

Create a new commit, reverting the changes from a specified commit

$ git revert <commit_ID>

Go back to a previous commit & delete all commits ahead of it (revert is safer). Add --hard flag to also delete workspace changes (BE VERY CAREFUL)

$ git reset <commit_ID>

Review your Repo

List new or modified files not yet committed

$ git status

List commit history, with respective IDs

$ git log --oneline

Show changes to unstaged files. For changes to staged files, add --cached option

$ git diff

Show changes between two commits

$ git diff commit1_ID commit2_ID

Stashing

Store modified & staged changes. To include untracked files, add -u flag. For untracked & ignored files, add -a flag.

$ git stash

As above, but add a comment.

$ git stash save "comment"

Partial stash. Stash just a single file, a collection of files, or individual changes from within files

$ git stash -p

List all stashes

$ git stash list

Re-apply the stash without deleting it

$ git stash apply

Re-apply the stash at index 2, then delete it from the stash list. Omit stash@{n} to pop the most recent stash.

$ git stash pop stash@{2}

Show the diff summary of stash 1. Pass the -p flag to see the full diff.

$ git stash show stash@{1}

Delete stash at index 1. Omit stash@{n} to delete last stash made

$ git stash drop stash@{1}

Delete all stashes

$ git stash clear

Synchronizing

Add a remote repo

$ git remote add <alias> <url>

View all remote connections. Add -v flag to view urls.

$ git remote

Remove a connection

$ git remote remove <alias>

Rename a connection

$ git remote rename <old> <new>

Fetch all branches from remote repo (no merge)

$ git fetch <alias>

Fetch a specific branch

$ git fetch <alias> <branch>

Fetch the remote repo's copy of the current branch, then merge

$ git pull

Move (rebase) your local changes onto the top of new changes made to the remote repo (for clean, linear history)

$ git pull --rebase <alias>

Upload local content to remote repo

$ git push <alias>

Upload to a branch (can then pull request)

$ git push <alias> <branch>

Thanks for reading

Hope this cheat sheet is useful!

Again, feel free to download the one-page PDF or order a poster:
One-page Git commands cheat sheet PDF
Order a physical poster

For more from me, you can follow me on Twitter.

Cheers!


Original Link: https://dev.to/doabledanny/git-cheat-sheet-50-commands-free-pdf-and-poster-4gcn

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To