All I know of git is clone, pull, commit, and push. That’s all I’ve ever needed. Git can be that simple. Of course it supports more complex uses, which you can learn if you need them.
It's not possible to alter commits with git. They are immutable. You can only make new commits that are based on existing ones in some way. The distinction is important, because the original commit (such as a commit pre-rebase) still exists after it's been "changed".
The use case for more is managing the history of it in a specific way to make it easier to understand. Most applications don't need this level of management since most applications don't have lives depending on them
Yeah even that has caused me trouble. I usually just copy the problem file to another directory, checkout the file from the repo, pull, and then diff/merge my changes. It may sound like more work, and maybe it is, but I understand what's happening and it's rare enough for me that to do it "the git way" I'd have to look it up every time.