For using libigt2 for commits it's really important, that it allows to update the state of submodules.
PR #852 has support for adding the commit that is the current submodule HEAD to the index so that it can be committed. I know there's a lot in that PR, but can you take a peek and see if it gets at what you need? Also, if it doesn't or if the API doesn't work the way you think it should, please let me know so I can refine it. Thanks!
So, #852 got merged and contains the git_submodule_add_to_index() API which should let you update the index with the current submodule HEAD (which you can then use to commit the changes). I'm going to close this issue, but feel free to reopen or open a new issue if the API is not doing what you need. Thanks!