If you’ve made changes in the exact same document both the local version of the Git repository as well as the remote one, then you’ll get an error message that reads “commit your changes, or save them until you merge” Git error.
In this article we will discuss the meaning behind this error and the reason it could be brought up. We also discuss the three possible ways to fix this issue.
Make Your Changes Permanent or Store Them Until You Are Able to Merge
Since Git can be distributed It is possible to keep multiple copies of the repository. This means that you could have a single version of a repository on one machine and another on a different computer, and a central version to which each copy is a reference.
It is possible that an online (central) copy of the repository’s codebase to change prior to the time you upload a modification to the repository. If someone alters their version centrally of the repository you must create a local copy to ensure you are working using the most current versions of the source codebase.
If the latest version of the repository includes a modification to a file that is in conflict with the changes you’ve made locally there will be an error. This is due to the fact that Git cannot determine whether the remote or locally-based version of the modification should be used.
This error is designed to be an extra measure to protect you. Before you are able to push your code to Git, Git requires you to consider the version of a file you wish to save either the local version or one that is in the remote repository.
There are three different ways to fix this issue:
- Make a change to the file
- Remove your modifications
- Save your ideas
Solution #1: Commit a Changed File
You should commit the modified file when your local copy the file is identical to the one you would like to keep on the Git repository. This will include your file in your Git committed record, and add it to the history in the development history.
To commit the modified files, add the modified file to the staging area(if required) as well as create an commitwith the change:
Git add filename.md commit to git with --m "feat: Changes have been made"
If you commit your change to the remote repository, your changes will be recorded within the source code base.
Solution #2: Discard Your Changes
Most of the time, changes made to a remote repository stay in effect. If you’d like to remove the changes you made, you can choose to checkout your remote copy of the file or reset your repository back to the latest commit to ensure that you are able to accept the changes made.
To remove a file, you can use the checkout command in git:
git checkout filename.md
Reset your repository back to the latest commit by with the reset git option.:
git reset --hard
The -hard flag informs your computer to change your HEAD and index as well as the working directories. The files on your local system will be updated to reflect the status on the distant repository.
Solution #3: Stash Your Changes
Stashing helps you keep track of changes you’ve made which you may refer to for future reference. It can be useful if you need to access an online version of a repository in addition, you wish to keep an account of the changes.
The changes you store do not get stored in your remote repository. You must create an additional commit in order to upload your changes to your repository.
To store your modifications, use your git stash command: the git stash command:
If you now have a copy of your modifications and you are able to join your code to the repository’s main version or delete your modifications. After you’ve completed either of these steps and you are ready to retrieve codes from the storage by using the pop keyword.
git stash pop
You could encounter the same issue again when you change the version on remote of the repository is changed. This is an interim solution until you determine whether you want to commit a document to the primary development line or to delete it.
This “commit your changes or save them until you are able to merge them” error occurs when you attempt to take codes from an external repository. This interferes with local changes you made to a repository.
To fix this issue to fix it, you can either commit your change into the repository. You can then delete your changes, or save your changes to be used the future. You now have the information to correct this error as an experienced developer!