Transmit the given string to the server, which passes them to the pre-receive as effectively because the submit-receive hook. The given string must not include a NUL or LF character. Option are used as a substitute. Path to the git-receive-pack program on the distant end. Usually, “git push” refuses to replace a remote ref that is not an ancestor of the local ref used to overwrite it. This option overrides this restriction if the current value of the remote ref is the expected value. Imagine that it’s a must to rebase what you could have already revealed. You’ll have to bypass the “must fast-forward” rule to be able to change the historical past you originally revealed with the rebased history. If someone else built on top of your authentic history if you are rebasing, the tip of the department on the remote may advance with their commit, and blindly pushing with –force will lose their work.
This option allows you to say that you anticipate the history you’re updating is what you rebased and want to change. If the distant ref nonetheless factors on the commit you specified, you’ll be able to make certain that no other people did something to the ref. It’s like taking a “lease” on the ref with out explicitly locking it, and the distant ref is up to date provided that the “lease” remains to be legitimate. If is the empty string, then the named ref should not already exist. The safety it gives over –force is ensuring that subsequent changes your work wasn’t based on aren’t clobbered, but this is trivially defeated if some background course of is updating refs in the background. We don’t have something except the remote monitoring data to go by as a heuristic for refs you’re expected to have seen & are prepared to clobber. Will fail until you manually run git fetch origin-push.
I.e. create a base tag for versions of the upstream code that you’ve seen and are keen to overwrite, then rewrite history, and finally pressure push modifications to grasp if the distant version continues to be at base, regardless of what your local remotes/origin/grasp has been up to date to in the background. Usually, the command refuses to update a distant ref that isn’t an ancestor of the local ref used to overwrite it. Also, when –drive-with-lease possibility is used, the command refuses to replace a remote ref whose current worth does not match what is expected. This flag disables these checks, and could cause the distant repository to lose commits; use it with care. Force an update only if the tip of the distant-tracking ref has been integrated regionally. This selection permits a examine that verifies if the tip of the remote-monitoring ref is reachable from one of the “reflog” entries of the native branch primarily based in it for a rewrite.
The check ensures that any updates from the remote have been incorporated regionally by rejecting the forced replace if that is not the case. Specifying –no-force-if-includes disables this conduct. This selection is equivalent to the argument. If both are specified, the command-line argument takes precedence. A thin switch significantly reduces the amount of despatched information when the sender and receiver share a lot of the same objects in frequent. The default is –skinny. Suppress all output, together with the itemizing of up to date refs, until an error occurs. Progress just isn’t reported to the standard error stream. Progress standing is reported on the standard error stream by default when it is hooked up to a terminal, until -q is specified. This flag forces progress status even when the usual error stream isn’t directed to a terminal. Could also be used to make sure all submodule commits utilized by the revisions to be pushed are available on a remote-monitoring department. If examine is used Git will verify that each one submodule commits that changed in the revisions to be pushed are available on at the least one remote of the submodule. If any commits are missing the push will be aborted and exit with non-zero status. If on-demand is used all submodules that modified in the revisions to be pushed can be pushed. If on-demand was not able to push all needed revisions it’ll even be aborted and exit with non-zero status. If solely is used all submodules might be recursively pushed while the superproject is left unpushed. A price of no or utilizing –no-recurse-submodules can be utilized to override the push.recurseSubmodules configuration variable when no submodule recursion is required. The default is –confirm, giving the hook an opportunity to prevent the push. With –no-verify, the hook is bypassed completely.