I prefer to commit changes that fulfill specific functionalities, but sometimes I forget to do so, resulting in a commit that encompasses multiple functionalities. This can make it difficult to name the commit accurately. I'm currently using the GitHub interface in VSCode and I'm curious if there's an option to select lines of code without committing changes beforehand, so I can work on multiple functionalities and commit them separately after finshing.
My usual approach is to stage and commit changes after completing a functionality. However, if I forget to do so, I end up giving a broader commit message that describes the changes, which makes me feel bad. Additionally, it can be challenging to roll back to specific changes.