10 Git Commands That Can Make Your Development Life Easier
Published: 2024-01-07 09:22:32

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**

```bash
git commit -am "commit message"
```

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**

```bash
git checkout -b branchName
```

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**

```bash
git branch -d branchName (safe delete)
git branch -D branchName (forceful delete)
```

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**

```bash
git branch -m oldBranch newBranch
```

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:

```bash
git branch -m newBranchName
```

## 5. **Unstage a Specific File**

```bash
git reset filename
```

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**

```bash
git checkout -- filename
```

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**

```bash
git commit --amend -m 'message'
```

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**

```bash
git stash
```

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**

```bash
git revert commitHash
```

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**

```bash
git reset --soft HEAD^
git reset --mixed HEAD^
git reset --hard HEAD^
```

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. 😊