Essential Git Commands Every Developer Should Know

Rashad Ansari
7 min readJun 27, 2023


In the article, we begin by introducing a basic set of essential commands that every developer needs to understand. These commands are like building blocks that form the groundwork for effectively using Git. Afterward, we delve into a collection of more advanced commands that can be incredibly useful in different situations and workflows. By familiarizing yourself with these advanced commands, you’ll have a valuable toolkit to handle a variety of scenarios when working with Git.

Covering the Basics

As a developer, there are several essential basic Git commands you should know to effectively work with version control and collaborate on projects. Here are some of the most important Git commands that you are probably aware of:

  1. git init: Initializes a new Git repository in the current directory.
  2. git clone <repository>: Creates a local copy of a remote repository on your machine.
  3. git add <file>: Adds a file or changes to the staging area, preparing them to be committed.
  4. git status: Shows the current status of the repository, including any modified, added, or deleted files.
  5. git commit -m “Commit message”: Commits the changes in the staging area to the repository, with a descriptive commit message.
  6. git pull: Fetches and merges changes from a remote repository into the current branch.
  7. git push: Pushes committed changes from a local repository to a remote repository.
  8. git branch: Lists all existing branches and shows the current branch.
  9. git checkout <branch>: Switches to the specified branch.
  10. git merge <branch>: Merges changes from a different branch into the current branch.
  11. git stash: Temporarily saves changes that are not ready to be committed, allowing you to switch branches without losing your work.
  12. git stash pop: Restores the most recently stashed changes and removes them from the stash.
  13. git log: Displays a chronological list of commits, including commit messages and other details.
  14. git diff: Shows the differences…



Rashad Ansari

Curious and continuously learning software engineer, driven by crafting innovative solutions with passion. Let’s collaborate to shape a better future!