DEV Community

Cover image for 10 Git Commands That Can Make Your Development Life Easier
Sarath Adhithya
Sarath Adhithya

Posted on

10 Git Commands That Can Make Your Development Life Easier

Git is a widely used version control system that every developer should have in their toolkit. With its powerful commands, Git enables teams to collaborate, track changes, and manage codebases effectively. In this blog post, we're delving into 10 essential Git commands that can make your development life easier.

1. Add and Commit Files with a Single Command

git commit -am "commit message"
Enter fullscreen mode Exit fullscreen mode

This command combines the functionality of git add (to stage changes) and git commit (to commit staged changes) into one step. It's a handy shortcut that eliminates the need for separate commands.

2. Create and Switch to a Branch in One Go

git checkout -b branchName
Enter fullscreen mode Exit fullscreen mode

Similarly, you can use this command to create a new branch and switch to it in one step. It's particularly convenient when you're starting work on a new feature or bug fix and want to isolate your changes from the main branch.

3. Delete a Branch Safely or Forcefully

git branch -d branchName (safe delete)
git branch -D branchName (forceful delete)
Enter fullscreen mode Exit fullscreen mode

The safe delete option (-d) checks if the branch has been merged into the current branch before deleting it. The forceful delete option (-D) deletes the branch regardless of its merge status. Use it with caution to avoid data loss.

4. Rename a Branch Easily

git branch -m oldBranch newBranch
Enter fullscreen mode Exit fullscreen mode

To rename a branch, simply use the -m flag followed by the old and new branch names. You can also rename the current branch without specifying the old name:

git branch -m newBranchName
Enter fullscreen mode Exit fullscreen mode

5. Unstage a Specific File

git reset filename
Enter fullscreen mode Exit fullscreen mode

This command removes a file from the staging area, allowing you to make further modifications before committing. It's useful when you want to un-stage a file temporarily without discarding your changes.

6. Discard Changes to a Specific File

git checkout -- filename
Enter fullscreen mode Exit fullscreen mode

If you want to completely discard changes to a specific file and revert it to its last committed state, use the above command. It's helpful when you want to start fresh on a particular file without affecting the rest of your changes.

7. Update Your Last Git Commit

git commit --amend -m 'message'
Enter fullscreen mode Exit fullscreen mode

Made a mistake in your last commit? With this command, you can modify the most recent commit, combining any staged changes with a new commit message. Just remember that if you've already pushed the commit, you'll need to force push the changes using git push --force.

8. Stash Changes Temporarily

git stash
Enter fullscreen mode Exit fullscreen mode

This command is a lifesaver when you need to switch branches or work on other tasks while preserving your current changes. git stash temporarily saves your changes, allowing you to later apply them using git stash apply or git stash pop.

9. Revert Git Commits

git revert commitHash
Enter fullscreen mode Exit fullscreen mode

If you've made an undesirable commit, you can use git revert to undo its changes without erasing the commit from history. It creates a new commit that negates the effects of the previous commit.

10. Reset Git Commits

git reset --soft HEAD^
git reset --mixed HEAD^
git reset --hard HEAD^
Enter fullscreen mode Exit fullscreen mode

Depending on your needs, you can use git reset to un-commit your last commit while preserving changes in the staging area (soft reset), remove changes from the staging area but keep them in the working directory (mixed reset), or completely erase the last commit along with its changes (hard reset).

And there you have it! These 10 Git commands can significantly improve your workflow and help you navigate your Git repository more efficiently. Whether you're a beginner or an experienced developer, these commands will make your life easier. 😊

Top comments (0)