From: Junio C Hamano Date: Mon, 17 Jun 2013 19:36:26 GMT Subject: Re: [PATCH] Documentation/git-push.txt: explain better cases where --force is dangerous Message-ID: <7vli68cyx1.fsf@alter.siamese.dyndns.org> In-Reply-To: <1371491561-19117-1-git-send-email-Matthieu.Moy@imag.fr> Matthieu Moy writes: > 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 > --- Looks good. Thanks. > Documentation/git-push.txt | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt > index 938d1ee..9b9e7d1 100644 > --- a/Documentation/git-push.txt > +++ b/Documentation/git-push.txt > @@ -136,6 +136,14 @@ 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 it with `push.default` set to `matching` or with > + multiple push destination configured 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 a `+` in front of the refspec to push > + (e.g `git push origin +master` to force a push to the `master` > + branch). See the `...` section above for details. > > --repo=:: > This option is only relevant if no argument is