How to Reset File to Be Same as Master Branch in Git

Ashok Chapagai Feb 02, 2024
  1. Reset Files to the master Branch in Git
  2. Reset Files to Specific Commit in Git
  3. Conclusion
How to Reset File to Be Same as Master Branch in Git

Suppose there is an important file in the master branch which was not meant to be edited, but alas, it has already been edited and committed several times in the dev branch. Now you want to discard all the changes made on the file and change its state to the same as in the master branch. There is a straightforward way to achieve this without much of a hassle.

Reset Files to the master Branch in Git

In Git, the git checkout command is a versatile tool used for a variety of tasks, including switching branches, creating new branches, restoring files, and more.

When we use git checkout to reset files to the master branch, we are essentially telling Git to replace the contents of the files in our current branch with those from the master branch.

Now that we have a basic understanding of Git checkout, let’s go through the steps to reset specific files to the master branch.

Step 1: Open a Terminal

To get started, open your terminal or command prompt. We’ll be using Git commands to reset files, so having a terminal is essential.

Step 2: Navigate to Your Repository

Use the cd command to navigate to your Git repository’s directory. For example:

cd /path/to/your/repo

Replace /path/to/your/repo with the actual path to your Git repository.

Step 3: Check Your Current Branch

Before performing any reset, confirm that you are on the branch from which you want to reset files. You can check your current branch using the following command:

git branch

This command will display a list of branches, with the currently checked-out branch indicated with an asterisk (*).

Step 4: Perform a Git Checkout Reset

Now, let’s use the git checkout command to reset files to the master branch. Use the following command:

git checkout master -- file1 file2 ...

Replace file1, file2, etc., with the names of the files you want to reset. You can specify multiple files by separating their names with spaces.

For example, if you want to reset two files named file1.txt and file2.txt, the command would be:

git checkout master -- file1.txt file2.txt

A Closer Look at the git checkout Command

  • git checkout: This is the Git command used for various operations, including switching branches and resetting files.
  • master: This specifies the source branch from which you want to take the files. In this case, it’s the master branch.
  • --: This double hyphen is used to separate the branch or commit from the file paths. It tells Git that the following items are file paths, not branches or commits.

Step 5: Check the Status

After the reset, it’s a good practice to check the status of your working directory using:

git status

This will show you which files have been modified, added, or deleted compared to the master branch.

Step 6: Commit Your Changes

If you’re satisfied with the changes and ready to commit, use the following commands:

git add .
git commit -m "Your commit message"

Replace "Your commit message" with a meaningful message describing your changes.

Reset Files to Specific Commit in Git

In Git, the git reset command is used for resetting the current branch to a specified state, such as a specific commit.

When we use git reset to reset files to a particular commit, we’re instructing Git to move the branch pointer to that commit while optionally updating the working directory and the staging area (index) as well.

Let’s dive into the steps to reset specific files to a particular commit in Git.

Step 1: Open a Terminal

Begin by opening your terminal or command prompt. We’ll be using Git commands, so having a terminal is essential.

Step 2: Navigate to Your Repository

Use the cd command to navigate to the directory of your Git repository. For example:

cd /path/to/your/repo

Replace /path/to/your/repo with the actual path to your Git repository.

Step 3: Identify the Target Commit

You need to identify the specific commit to which you want to reset your files. You can use git log to view the commit history and find the commit hash. For example:

git log

This command will display the commit history, with each commit identified by a unique hash (a long alphanumeric string).

Step 4: Perform the Git Reset

Now, let’s use the git reset command to reset specific files to the target commit. The basic syntax is as follows:

git reset <commit> -- <file1> <file2> ...

Replace <commit> with the commit hash, branch name, or tag name you want to reset to. Replace <file1>, <file2>, and so on with the names of the files you want to reset. You can specify multiple files by separating their names with spaces.

For example, if you want to reset two files named file1.txt and file2.txt to a commit with the hash abc123, the command would be:

git reset abc123 -- file1.txt file2.txt

A Closer Look at the git reset Command

  • git reset: This is the Git command used for resetting branches and files.
  • <commit>: Replace this placeholder with the commit hash, branch name, or tag name to which you want to reset your files.
  • --: This double hyphen is used to separate the commit from the file paths. It tells Git that the following items are file paths, not branches or commits.

Step 5: Check the Status

After the reset, it’s essential to check the status of your working directory using:

git status

This will display which files have been modified, added, or deleted compared to the reset commit.

Step 6: Commit Your Changes

If you’re satisfied with the reset and ready to commit, use the following commands:

git add .
git commit -m "Your commit message"

Replace "Your commit message" with a meaningful message describing the changes introduced by the reset.

Alternative: Use git checkout

An alternative way to achieve the same task can be,

git checkout <commit_hash> <filename>

This also helps to achieve the same result.

Conclusion

Resetting files to the master branch in Git is a fundamental skill for any developer working on collaborative projects.

The git checkout command empowers you to synchronize your work with the latest changes in the master branch effortlessly.

By following the steps outlined in this guide, you can confidently reset specific files, ensuring your project remains consistent and up-to-date.

Remember that Git provides various mechanisms for resetting files, such as git reset for resetting to specific commits.

Each method has its use cases, so choose the one that best suits your needs.

Whether you’re correcting mistakes or incorporating changes from the master branch, Git’s flexibility ensures your version control workflows remain efficient and reliable.

Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

Related Article - Git Reset