sourcegit-scm / sourcegit

Windows/macOS/Linux GUI client for GIT users
MIT License
665 stars 69 forks source link

[Feature] Auto Stage option #244

Closed caioraphael1 closed 2 weeks ago

caioraphael1 commented 2 weeks ago

I have a suggestion:

I'm quite used to the githubdesktop workflow (or alikes), and I'd like to not have to click 'stage all' every time I want to commit something. So, I'd like to propose the option to 'Auto Stage' all changes made before committing.

Thanks, I'm loving the app!

love-linger commented 2 weeks ago

An checkbox named Auto-Stage has been added into the Changes view. It will enable -a, --all option in git commit commmand.

The last state of this checkbox will be saved into repositories setting. Remember to turn it off if you do NOT want this feature!!!

Note: Enable this option will tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.

image

you can try it from this build https://github.com/sourcegit-scm/sourcegit/actions/runs/9823943892

caioraphael1 commented 2 weeks ago

oh wow, that was fast! Thanks a lot!

Is there a reason for not considering newly added files?

I was thinking it would be a bit more intuitive if the option physically moved the items from the Unstaged tab to the Staged tab, before committing, so it would be clear what is being affected or not. It would be just like clicking the 'Stage All' button automatically, as soon as you click in the Changes tab, or something in those terms, to guarantee that all changes are staged.

Also, I liked the button placement, but maybe here is also an option: image

Thanks again!

love-linger commented 2 weeks ago

Is there a reason for not considering newly added files?

It's what the -a, --all argument does. According to the document of git-commit:

image