I am new to Git client, and very much confused with its operations. I am quite familiar with other versioning tools like SVN and CVS. I have got Git plug-in installed in STS, and checked out the project spending good amount of time. My operating system is Windows-7, and using Eclipse Git 1.3.0 on STS Eclipse 2.8.1.
Initially I did not know that a ‘simple commit operation’ does not actually check-in the files to server repository,but had to ‘push to upstream’. It was fine as long as there is no conflicts identified, but it is giving big trouble when I want to perform operation like
- Revert the local changes
- Un do the local commit
- Synchronize with Server Repository ( synchronize perspective window does not appear)
- Push to Remote doesn’t work most of the time
When I say doesn’t work, I mean Git throws exception.
Below are the few errors I used to get.
Exception caught during execution of merge command.
org.eclipse.jgit.errors.MissingObjectException: Missing commit
c6c4fce9e8a0a228ac1d60f4e5549b5adafa638aMissing unknown c6c4fce9e8a0a228ac1d60f4e5549b5adafa638a
looking up commit
AnyObjectId[c6c4fce9e8a0a228ac1d60f4e5549b5adafa638a]
Exception caught during execution of merge command.
org.eclipse.jgit.errors.MissingObjectException:An internal error occurred during: “Merging with
refs/remotes/origin/master”
When ever there is a conflict or issues with commit, I had to some how (hard) reset my workspace, and re do all my work.
I feel many of you would have experienced such kind of issues, and I would like to see how better I can tackle the situation.
Appreciate any comments regarding this .
Those errors generally reflects a repo which hasn’t been properly updated (
git fetchorgit pull), and is missing references to complete those operations (merge or push).This thread illustrates the “missing commit” error on merge.
The main issue with EGit is to make sure you are not in a detached HEAD mode (as detailed in “can’t push upstream using EGit“).
Beside that, it is best to train first following Egit tutorial and manual (and of course understanding git first, with git tutorials, like gitimmersion).