Matthieu Moy <[email protected]> writes:
> But then the place to warn loudly is the doc for --force. What about
> this?
Sounds sensible. I am not sure if "--all" is all that common to be
singled out, though. "I always push these out" refspecs, like
[remote "origin"]
push = refs/heads/master
push = refs/heads/next
share the need for the same cautiousness against --force, and
"applies to all the refs that are pushed" already covers both.
Mentioning 'matching' here is a very good idea, as people may not
realize it is pushing out more than the current branch.
> ------- 8< ------- 8< ------- 8< ------- 8< ------- 8< ------- 8<
>
> From a529588dd8df84e54e5ec267068248cc555373f5 Mon Sep 17 00:00:00 2001
> From: Matthieu Moy <[email protected]>
> Date: Mon, 17 Jun 2013 13:02:39 +0200
> Subject: [PATCH] Documentation/git-push.txt: explain better cases where
> --force is dangerous
>
> The behavior of "git push --force" is rather clear when it updates only
> one remote ref, but running it when pushing several branches can really
> be dangerous. Warn the users a bit more and give them the alternative to
> push only one branch.
>
> Signed-off-by: Matthieu Moy <[email protected]>
> ---
> Documentation/git-push.txt | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
> index 938d1ee..0899a35 100644
> --- a/Documentation/git-push.txt
> +++ b/Documentation/git-push.txt
> @@ -136,6 +136,13 @@ already exists on the remote side.
> not an ancestor of the local ref used to overwrite it.
> This flag disables the check. This can cause the
> remote repository to lose commits; use it with care.
> + Note that `--force` applies to all the refs that are pushed,
> + hence using `git push --all --force`, or `git push --force`
> + with `push.default` set to `matching` may override refs other
> + than the current branch (including local refs that are
> + strictly behind their remote counterpart). To force a push to
> + only one branch, use `git push <remote> +<branch>` instead of
> + `--force`.
>
> --repo=<repository>::
> This option is only relevant if no <repository> argument is
> --
> 1.8.3.1.495.g13f33cf.dirty
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html