It happens sometimes that git successfully merge text changes without conflicts that makes no sense at the lexical level.
But it should not be the problem here because your teammate says it has not deleted the lines and you explicitly (?) says that there are conflicts.
Once git detect conflicts, it launches an editor, here VS Code letting the user fixes the conflicts with this UI:

So the user has to do an action. And if the user save without doing the choice (I don't remember if that's possible in VSCode), I don't think you end up with parts of files delete without the user specifically delete it within VSCode or in a commit merged.
So, even if I can't be sure without seeing the file content and diffs, for me it's a mistake from the teammate where he did something without noticing it.
The better solution is to replay the merge with him to understand what he does because you should still have the commits in the repository.
Do:
- Create a branch at the good place (before you added your commit and he did also)
- Push the branch and he pull it.
- He reset to the commit before the merge (using the reflog or not)
- Push your new commit
- He pull and you solve the conflicts together and you try to understand.