Home Explore Blog CI



git

2nd chunk of `Documentation/config/branch.adoc`
122fd3f29a55e9e575367def415726e68100cf1e57e7e7590000000100000db5
 to `never`.

`branch.sort`::
	This variable controls the sort ordering of branches when displayed by
	linkgit:git-branch[1]. Without the `--sort=<value>` option provided, the
	value of this variable will be used as the default.
	See linkgit:git-for-each-ref[1] field names for valid values.

`branch.<name>.remote`::
	When on branch _<name>_, it tells `git fetch` and `git push`
	which remote to fetch from or push to.  The remote to push to
	may be overridden with `remote.pushDefault` (for all branches).
	The remote to push to, for the current branch, may be further
	overridden by `branch.<name>.pushRemote`.  If no remote is
	configured, or if you are not on any branch and there is more than
	one remote defined in the repository, it defaults to `origin` for
	fetching and `remote.pushDefault` for pushing.
	Additionally, `.` (a period) is the current local repository
	(a dot-repository), see `branch.<name>.merge`'s final note below.

`branch.<name>.pushRemote`::
	When on branch _<name>_, it overrides `branch.<name>.remote` for
	pushing.  It also overrides `remote.pushDefault` for pushing
	from branch _<name>_.  When you pull from one place (e.g. your
	upstream) and push to another place (e.g. your own publishing
	repository), you would want to set `remote.pushDefault` to
	specify the remote to push to for all branches, and use this
	option to override it for a specific branch.

`branch.<name>.merge`::
	Defines, together with `branch.<name>.remote`, the upstream branch
	for the given branch. It tells `git fetch`/`git pull`/`git rebase` which
	branch to merge and can also affect `git push` (see `push.default`).
	When in branch _<name>_, it tells `git fetch` the default
	refspec to be marked for merging in `FETCH_HEAD`. The value is
	handled like the remote part of a refspec, and must match a
	ref which is fetched from the remote given by
	`branch.<name>.remote`.
	The merge information is used by `git pull` (which first calls
	`git fetch`) to lookup the default branch for merging. Without
	this option, `git pull` defaults to merge the first refspec fetched.
	Specify multiple values to get an octopus merge.
	If you wish to setup `git pull` so that it merges into <name> from
	another branch in the local repository, you can point
	branch.<name>.merge to the desired branch, and use the relative path
	setting `.` (a period) for `branch.<name>.remote`.

`branch.<name>.mergeOptions`::
	Sets default options for merging into branch _<name>_. The syntax and
	supported options are the same as those of linkgit:git-merge[1], but
	option values containing whitespace characters are currently not
	supported.

`branch.<name>.rebase`::
	When true, rebase the branch _<name>_ on top of the fetched branch,
	instead of merging the default branch from the default remote when
	`git pull` is run. See `pull.rebase` for doing this in a non
	branch-specific manner.
+
When `merges` (or just `m`), pass the `--rebase-merges` option to `git rebase`
so that the local merge commits are included in the rebase (see
linkgit:git-rebase[1] for details).
+
When the value is `interactive` (or just `i`), the rebase is run in interactive
mode.
+
*NOTE*: this is a possibly dangerous operation; do *not* use
it unless you understand the implications (see linkgit:git-rebase[1]
for details).

`branch.<name>.description`::
	Branch description, can be edited with
	`git branch --edit-description`. Branch description is
	automatically added to the `format-patch` cover letter or
	`request-pull` summary.

Title: Git Branch Configuration Options
Summary
This section describes various Git configuration options for branches, including settings for merging, rebasing, remote repositories, and branch descriptions, allowing for customization of Git's behavior when working with branches.