1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-31 06:17:56 +01:00

Merge branch 'ph/push-doc-cas'

* ph/push-doc-cas:
  git-push.txt: clean up force-with-lease wording
This commit is contained in:
Junio C Hamano 2015-03-28 09:37:53 -07:00
commit 31137f54db

View file

@ -157,9 +157,8 @@ already exists on the remote side.
Usually, "git push" refuses to update a remote ref that is Usually, "git push" refuses to update a remote ref that is
not an ancestor of the local ref used to overwrite it. not an ancestor of the local ref used to overwrite it.
+ +
This option bypasses the check, but instead requires that the This option overrides this restriction if the current value of the
current value of the ref to be the expected value. "git push" remote ref is the expected value. "git push" fails otherwise.
fails otherwise.
+ +
Imagine that you have to rebase what you have already published. Imagine that you have to rebase what you have already published.
You will have to bypass the "must fast-forward" rule in order to You will have to bypass the "must fast-forward" rule in order to
@ -171,15 +170,14 @@ commit, and blindly pushing with `--force` will lose her work.
This option allows you to say that you expect the history you are This option allows you to say that you expect the history you are
updating is what you rebased and want to replace. If the remote ref updating is what you rebased and want to replace. If the remote ref
still points at the commit you specified, you can be sure that no still points at the commit you specified, you can be sure that no
other people did anything to the ref (it is like taking a "lease" on other people did anything to the ref. It is like taking a "lease" on
the ref without explicitly locking it, and you update the ref while the ref without explicitly locking it, and the remote ref is updated
making sure that your earlier "lease" is still valid). only if the "lease" is still valid.
+ +
`--force-with-lease` alone, without specifying the details, will protect `--force-with-lease` alone, without specifying the details, will protect
all remote refs that are going to be updated by requiring their all remote refs that are going to be updated by requiring their
current value to be the same as the remote-tracking branch we have current value to be the same as the remote-tracking branch we have
for them, unless specified with a `--force-with-lease=<refname>:<expect>` for them.
option that explicitly states what the expected value is.
+ +
`--force-with-lease=<refname>`, without specifying the expected value, will `--force-with-lease=<refname>`, without specifying the expected value, will
protect the named ref (alone), if it is going to be updated, by protect the named ref (alone), if it is going to be updated, by