Git commit helpers for single-repo and multi-repo prompt runs.
@spec commit_multi_repo(PromptRunner.Config.t(), String.t(), [ {String.t(), String.t()} ]) :: [ {String.t(), term()} ]
@spec commit_repo(String.t(), String.t(), String.t(), String.t()) :: {:ok, String.t()} | {:skip, atom()} | {:error, atom()}
@spec commit_single_repo( PromptRunner.Config.t(), String.t(), String.t(), String.t() | nil ) :: {:ok, String.t()} | {:skip, atom()} | {:error, atom()}