Sweep every change into one commit and push it, in a single run. The target is a
clean tree:
reporting nothing left to commit and nothing left to push.
Run
,
, and
in one batch — the diff is what you describe, the log is the commit style you match.
If the tree is already clean, tell the user "There are no changes to commit" and stop.
is the message when the user supplied one — use it verbatim. Otherwise write your own: English, short, in the style the log shows.
Secrets stay out of the commit: if the survey turned up
, keys, or credential files,
those paths after staging and name them to the user.
Done when:
shows a
clean tree — working tree clean, branch in sync with its remote — and you have reported the commit subject and the branch it went to.