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