If they are models you can use as EMF models, then EMF Compare should work from the get go (select both models and use compare with > each other). You might have to add your extension in the list EMF Compare knows about though. That's in the preferences (window > preferences) then "general" > "content types" and you'll see an "EMF Compare" entry on the right-hand side. You need to add yours there.
As for your question, EMF Compare only accepts EObjects or Resources as input, so your deserializers should actually be called before you even reach anything EMF Compare specific. Could you tell us how exactly it fails or what you didn't manage to do?
I am creating a ModelGitMergeEditorInput and passing that to CompareUI.openCompareEditor. Then I do some changes in the model in that editor and would like to save the changes to the model of my workspace. How do I do that?
I do not know exactly how the changes are reflected when you save an editor input, but there should be some kind of call back in there for the save operation (when you make changes in the editor, it should be marked as dirty and allow you to "save". You'll have to look at how the save action is actually implemented in there to hook into it.