Commits and pushes to a repo prepared by step_setup_push_deploy().
It is highly recommended to restrict the set of files
touched by the deployment with the commit_paths argument:
this step assumes that it can freely overwrite all changes to all files
below commit_paths, and will not warn in case of conflicts.
[string]
Path to the repository, default "." which means setting up the current
repository.
commit_message
[string]
Commit message to use, defaults to a useful message linking to the CI build
and avoiding recursive CI runs.
commit_paths
[character]
Restrict the set of directories and/or files added to Git before deploying.
Default: deploy all files.
Details
To mitigate conflicts race conditions to the greatest extent possible,
the following strategy is used:
The changes are committed to the branch
Before pushing, new commits are fetched with git pull --rebase -X theirs
If no new commits were pushed after the CI run has started,
this strategy is equivalent to simply committing and pushing.
In the opposite case, if the remote repo has new commits,
the deployment is safely applied to the current tip.