A Quick Git Bash Commands Cheat Sheet
Hey everyone, In this article, we will see the most used Git Bash commands and give a quick start with a cheat sheet. We already discussed in the brief of Git commands earlier Important Basic Git Commands — Developers should know.
Git helps to tracks and work on the same workspace that developers or organizations use to collaborate on developing applications.
So, let’s start with the Git commands
Table of Contents
- Setup
- Start a Project
- Make a Change
- Basic Concepts
- Branches
- Merging
- Rebasing
- Undoing Things
- Review your Repo
- Stashing
- Synchronizing
Setup
Set the name and email that will be attached to your commits and tags
$ git config — global user.name “YOUR NAME”$ git config — global user.email “myemail@gmail.com”
Start a Project
Create a local repo (omit <directory> to initialize the current directory as a git repo)
$ git init <directory>// Download a remote repo$ git clone <url>
Make a Change
Add a file to the staging
$ git add <file>// Stage all files$ git add .$ git commit -m “commit message”// Add all changes made to tracked files & commit$ git commit -am “commit message”
Basic Concepts
main or master: default development branch
origin: default upstream repo
HEAD: current branch
HEAD^: parent of HEAD
HEAD~2: grandparent of HEAD
Branches
- List all local branches.
- Add -r flag to show all remote branches.
- Use -a flag for all branches.
$ git branch// Create a new branch$ git branch <new-branch>
- If you want to switch to a branch & update the working directory.
$ git checkout <branch>// Create a new branch and switch to it.$ git checkout -b <new-branch>
- Delete a branch
// Delete a merged branch$ git branch -d <branch>// Delete a branch, whether merged or not$ git branch -D <branch>
- Add a tag to the current commit (often used for new version releases)
$ git tag <tag-name>
Merging
Merge branch one into branch two. Add no-ff option for no-fast-forward merge.
$ 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 the feature, keeping history clean.
$ git checkout feature$ git rebase main
It cleans up a branch commits before rebasing onto the main
$ git rebase -i main// rebase the last 2 commits on current branch$ git rebase -i HEAD~2
Undoing Things
- Move (or rename) a file and stage move.
$ git mv <existing-path> <new-path>
- Remove a file from the working directory & staging area, then stage the removal.
$ git rm <file>
- Remove from staging area only
$ git rm — cached <file>
- View 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>
These are the quick git cheat sheet, this would be helpful to make increase the productivity.
To read full Story checkout here Sidtechtalks.