Home Explore Blog CI



git

6th chunk of `Documentation/git-submodule.adoc`
3a6cf9eb329505f37929182d4f8d5775bdee8dd3e3d16e0d0000000100000bf5
 submodule HEAD
	when this option is used.

-n::
--summary-limit::
	This option is only valid for the summary command.
	Limit the summary size (number of commits shown in total).
	Giving 0 will disable the summary; a negative number means unlimited
	(the default). This limit only applies to modified submodules. The
	size is always limited to 1 for added/deleted/typechanged submodules.

--remote::
	This option is only valid for the update command.  Instead of using
	the superproject's recorded SHA-1 to update the submodule, use the
	status of the submodule's remote-tracking branch.  The remote used
	is branch's remote (`branch.<name>.remote`), defaulting to `origin`.
	The remote branch used defaults to the remote `HEAD`, but the branch
	name may be overridden by setting the `submodule.<name>.branch`
	option in either `.gitmodules` or `.git/config` (with `.git/config`
	taking precedence).
+
This works for any of the supported update procedures (`--checkout`,
`--rebase`, etc.).  The only change is the source of the target SHA-1.
For example, `submodule update --remote --merge` will merge upstream
submodule changes into the submodules, while `submodule update
--merge` will merge superproject gitlink changes into the submodules.
+
In order to ensure a current tracking branch state, `update --remote`
fetches the submodule's remote repository before calculating the
SHA-1.  If you don't want to fetch, you should use `submodule update
--remote --no-fetch`.
+
Use this option to integrate changes from the upstream subproject with
your submodule's current HEAD.  Alternatively, you can run `git pull`
from the submodule, which is equivalent except for the remote branch
name: `update --remote` uses the default upstream repository and
`submodule.<name>.branch`, while `git pull` uses the submodule's
`branch.<name>.merge`.  Prefer `submodule.<name>.branch` if you want
to distribute the default upstream branch with the superproject and
`branch.<name>.merge` if you want a more native feel while working in
the submodule itself.

-N::
--no-fetch::
	This option is only valid for the update command.
	Don't fetch new objects from the remote site.

--checkout::
	This option is only valid for the update command.
	Checkout the commit recorded in the superproject on a detached HEAD
	in the submodule. This is the default behavior, the main use of
	this option is to override `submodule.$name.update` when set to
	a value other than `checkout`.
	If the key `submodule.$name.update` is either not explicitly set or
	set to `checkout`, this option is implicit.

--merge::
	This option is only valid for the update command.
	Merge the commit recorded in the superproject into the current branch
	of the submodule. If this option is given, the submodule's HEAD will
	not be detached. If a merge failure prevents this process, you will
	have to resolve the resulting conflicts within the submodule with the
	usual conflict resolution tools.
	If the key `submodule.$name.update` is set to `merge`, this option is
	implicit.

--rebase::
	This option is only

Title: Git Submodule Update Options
Summary
The provided text describes various options for the Git submodule update command, including --remote, --summary-limit, --no-fetch, --checkout, --merge, and --rebase. These options control how the submodule is updated, such as using the remote-tracking branch, fetching new objects, checking out or merging commits, and rebasing the submodule's branch.