Eclipse EGit Checkout conflict with files: – EGit doesn't want to continue
I’ve started Eclipse EGit. In some scenarios it is really not comprehensive.
I have local file e.g. pom.xml changed. On git server this file was changed.
pull, EGIt says:
- Merged branches locally, now how do I get GitHub to show that as a pull request?
- Merging after directory got turned into submodule
- How to change filenames when merging pull requests
- Cocoapods project.pbxproj merge conflicts
- Merge svn branch to new git branch
- Merging after Git revert
Checkout conflict with files:
i.e. pulling stops (
fetch is done, but not
merge), that is OK. However the next is bad experience.
I synchronize workspace, put my changes aside and make it the same as FETCH_HEAD. But EGit doesn’t want to continue. I replace the file with HEAD revision. But EGit still doesn’t want to continue.
What standard expected user operation should be with EGit after conflict resolution?
added to index, then
marked as Merged ->
pull still can’t pass.
When I select
Merge I get the dialog
I can’t commit the file as it is not in list of changed files.
4 Solutions collect form web for “Eclipse EGit Checkout conflict with files: – EGit doesn't want to continue”
- You have local uncommitted changes
- You pull from the master repo
- You get the error “Checkout conflict with files: xy”
- Stage and commit (at least) the files xy
- Pull again
- If automerge is possible, everything is ok.
- If not, the pull merges the files and inserts the merge-conflict markers (<<<<<<, >>>>)
- Manually edit the conflicting files
- Commit and push
This is the way I solved my problem:
- Right click the folder that has uncommitted changes on your local
- Click Team > Advanced > Assume Unchanged
As Hugo Zuleta rightly pointed out, you should be careful while applying this. He says that it might end up saying the branch is up to date, but the changes aren’t shown, resulting in desync from the branch.
- After closing the Conflict Error Dialog; from the Project Explorer, right click on the head of the project -> Team -> Stashes -> Stash Changes
- Enter a name for your stash. E.G. “Conflict”
- Try Pulling again. Hopefully there are no errors this time.
- From the Git Repository view, expand your repository -> Stashed Commits
- Right Click on the stash you created in step 2 -> Apply Stashed Changes
- This brings up the merge tool if it can’t automatically merge it.
- Manually resolve the merge conflicts in the file/s.
- Right Click on the file editor -> Team -> Add To Index
- If you are not ready to commit the file or just don’t want it in the Index, right click on the file editor -> Team -> Remove from Index.
- Cleanup: From the Git Repository view, right Click on the stash you created in step 2 -> Delete Stashed Commit
Your local working directory file should be be merged
I guess the best way to do this is like this :
- Store all your changes in a separate branch.
- Then do a hard reset on the local master.
- Then merge back your changes from the locally created branch
- Then commit and push your changes.
That how I resolve mine, whenever it happens.