Table of Contents
Related Posts
In this article, I will list out all the git commands that I use very frequently. This is not in any way a complete list, just the commands that I use very often. This is intended to be used as a quick reference to perform an action that you want.
git clonegit initgit addgit commitgit statusgit loggit diffgit remotegit checkoutgit pushgit branchgit cleangit mergegit pullgit resetWhat’s Next?Until Next Time 👋
git clone
# Create 'blogs' folder and clone the 'pbteja1998/blogs' repo into it
git clone https://github.com/pbteja1998/blogs.git
# Create `my-blogs` folder and clone the `pbteja1998/blogs` repo into it
git clone https://github.com/pbteja1998/blogs.git my-blogs
git init
# Initializes the current directory as a git repo
git init
git add
# Adds the file contents to the index
# Ready to be committed next time you run `git commit`
# By default, Ignores the files present in `.gitignore`
# Add a single file
git add README.md
# Add all the files in the current directory
git add .
# Also adds the files present in `.gitignore`
git add -f .
git commit
# Commits/Records the changes to the local repo
git commit -m "some message"
# Does not create a new commit
# Adds the changes to the most recent commit
git commit --amend
git status
# Shows the status of the working tree
git status
# Shows the output in short format
git status -s
# Shows the branch even in short format
git status -sb
git log
# Shows the commit logs
git log
git diff
# Shows the changes between unstaged files and the commits
git diff
# Shows the changes between staged(ready-to-be-committed) files and the commits
git diff --staged
git remote
# Shows all the remotes configured and their remote URL
git remote -v
# Adds a remote
# git remote add <remote-name> <remote-url>
git remote add upstream https://github.com/something/blogs.git
# Changes the URL of the remote
git remote set-url upstream https://github.com/some-thing/blogs.git
git checkout
# Switch to branch
# git checkout <branch>
git checkout master
# Creates a new branch and switch to that
git checkout -b new-feature
# Removes all the unstaged changes in the current directory
git checkout .
# Removes all the unstaged changes for a file
git checkout -- README.md
git push
# Pushes the local changes to the remote to keep it up-to-date
git push origin master
# Force push the local changes to the remote
# Usually git will not allow you to push to the remote if the remote has some commits that are not present in the local repo
# This will override that check and lets you force push to the remote
# This may cause the remote to lose some commits. So use it carefully.
git push -f origin master
# Push and set the remote as upstream
# same as `git push --set-upstream origin feature-branch`
git push -u origin feature-branch
# Deletes the branch in the remote
# same as `git push --delete origin new-feature`
git push -d origin new-feature
git branch
# Deletes the branch locally
# same as `git branch --delete feature-branch`
git branch -d feature-branch
# Force delete a branch even if it's not merged
# same as `git branch --delete --force feature-branch`
git branch -D feature-branch
git clean
# Removes all the files and directories that are not yet tracked by git
git clean -fd
git merge
# Merges the <branch> to the current branch
# git merge <branch>
git merge feature-branch
git pull
# Fetches the changes from the remote and merge it into local repo
git pull origin master
git reset
# Removes all the changes to the tracked files that have not yet been committed
git reset --hard
What’s Next?
The next article will most probably be a part of My Review of Kent C. Dodds’s EpicReact.Dev. Check out the series page for more info.
Until Next Time 👋
If you liked this article, check out
Written by
24yo developer and blogger. I quit my software dev job to make it as an independent maker. I write about bootsrapping Feather.