People on this issue[1] have been asking themselves the same questions.
New very specific features are added with every new releases. However, the Git/shelf experience is lacking the ability to commit specific lines.
[1] See this highly voted issue: https://youtrack.jetbrains.com/issue/IDEA-186988
(opened since more than 3 years already)