Commands make no sense?
git add .
git commit -am "feature working great"
git push
git branch new_feature
git checkout new_feature
git commit -am "new feature working great"
git push origin new_feature
How hard is that?!
git add .
git commit -am "feature working great"
git push
git branch new_feature
git checkout new_feature
git commit -am "new feature working great"
git push origin new_feature
How hard is that?!
Now, start removing files from your "git add ."
Or switch branches without losing your change.
Or rebasing.
I never said it wasn't possible, neither hard. But, the interface (read CLI) still sucks.
Switching branches without losing your changes is poor form anyway. You should be committing before you switch. If not, you can create multiple local branches (ick!)
As for removing, it's familiar: "git rm removed_file"