[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.16.203.175: ~ $
git-merge-base(1)
=================

NAME
----
git-merge-base - Find as good common ancestors as possible for a merge


SYNOPSIS
--------
[verse]
'git merge-base' [-a|--all] <commit> <commit>...
'git merge-base' [-a|--all] --octopus <commit>...
'git merge-base' --is-ancestor <commit> <commit>
'git merge-base' --independent <commit>...

DESCRIPTION
-----------

'git merge-base' finds best common ancestor(s) between two commits to use
in a three-way merge.  One common ancestor is 'better' than another common
ancestor if the latter is an ancestor of the former.  A common ancestor
that does not have any better common ancestor is a 'best common
ancestor', i.e. a 'merge base'.  Note that there can be more than one
merge base for a pair of commits.

OPERATION MODE
--------------

As the most common special case, specifying only two commits on the
command line means computing the merge base between the given two commits.

More generally, among the two commits to compute the merge base from,
one is specified by the first commit argument on the command line;
the other commit is a (possibly hypothetical) commit that is a merge
across all the remaining commits on the command line.

As a consequence, the 'merge base' is not necessarily contained in each of the
commit arguments if more than two commits are specified. This is different
from linkgit:git-show-branch[1] when used with the `--merge-base` option.

--octopus::
	Compute the best common ancestors of all supplied commits,
	in preparation for an n-way merge.  This mimics the behavior
	of 'git show-branch --merge-base'.

--independent::
	Instead of printing merge bases, print a minimal subset of
	the supplied commits with the same ancestors.  In other words,
	among the commits given, list those which cannot be reached
	from any other.  This mimics the behavior of 'git show-branch
	--independent'.

--is-ancestor::
	Check if the first <commit> is an ancestor of the second <commit>,
	and exit with status 0 if true, or with status 1 if not.
	Errors are signaled by a non-zero status that is not 1.


OPTIONS
-------
-a::
--all::
	Output all merge bases for the commits, instead of just one.

DISCUSSION
----------

Given two commits 'A' and 'B', `git merge-base A B` will output a commit
which is reachable from both 'A' and 'B' through the parent relationship.

For example, with this topology:

		 o---o---o---B
		/
	---o---1---o---o---o---A

the merge base between 'A' and 'B' is '1'.

Given three commits 'A', 'B' and 'C', `git merge-base A B C` will compute the
merge base between 'A' and a hypothetical commit 'M', which is a merge
between 'B' and 'C'.  For example, with this topology:

	       o---o---o---o---C
	      /
	     /   o---o---o---B
	    /   /
	---2---1---o---o---o---A

the result of `git merge-base A B C` is '1'.  This is because the
equivalent topology with a merge commit 'M' between 'B' and 'C' is:


	       o---o---o---o---o
	      /                 \
	     /   o---o---o---o---M
	    /   /
	---2---1---o---o---o---A

and the result of `git merge-base A M` is '1'.  Commit '2' is also a
common ancestor between 'A' and 'M', but '1' is a better common ancestor,
because '2' is an ancestor of '1'.  Hence, '2' is not a merge base.

The result of `git merge-base --octopus A B C` is '2', because '2' is
the best common ancestor of all commits.

When the history involves criss-cross merges, there can be more than one
'best' common ancestor for two commits.  For example, with this topology:

       ---1---o---A
	   \ /
	    X
	   / \
       ---2---o---o---B

both '1' and '2' are merge-bases of A and B.  Neither one is better than
the other (both are 'best' merge bases).  When the `--all` option is not given,
it is unspecified which best one is output.

A common idiom to check "fast-forward-ness" between two commits A
and B is (or at least used to be) to compute the merge base between
A and B, and check if it is the same as A, in which case, A is an
ancestor of B.  You will see this idiom used often in older scripts.

	A=$(git rev-parse --verify A)
	if test "$A" = "$(git merge-base A B)"
	then
		... A is an ancestor of B ...
	fi

In modern git, you can say this in a more direct way:

	if git merge-base --is-ancestor A B
	then
		... A is an ancestor of B ...
	fi

instead.


See also
--------
linkgit:git-rev-list[1],
linkgit:git-show-branch[1],
linkgit:git-merge[1]

GIT
---
Part of the linkgit:git[1] suite

Filemanager

Name Type Size Permission Actions
RelNotes Folder 0755
contrib Folder 0755
howto Folder 0755
technical Folder 0755
COPYING File 18.33 KB 0644
README File 2.56 KB 0644
blame-options.txt File 3.95 KB 0644
cmds-ancillaryinterrogators.txt File 1.18 KB 0644
cmds-ancillarymanipulators.txt File 1005 B 0644
cmds-foreignscminterface.txt File 760 B 0644
cmds-mainporcelain.txt File 2.5 KB 0644
cmds-plumbinginterrogators.txt File 1.34 KB 0644
cmds-plumbingmanipulators.txt File 1.21 KB 0644
cmds-purehelpers.txt File 1.11 KB 0644
cmds-synchelpers.txt File 543 B 0644
cmds-synchingrepositories.txt File 397 B 0644
config.txt File 90.14 KB 0644
date-formats.txt File 848 B 0644
diff-config.txt File 6.87 KB 0644
diff-format.txt File 5.44 KB 0644
diff-generate-patch.txt File 6.44 KB 0644
diff-options.txt File 18.12 KB 0644
docbook-xsl.css File 4.45 KB 0644
everyday.html File 35.06 KB 0644
everyday.txt File 12.71 KB 0644
fetch-options.txt File 4.22 KB 0644
git-add.html File 35.63 KB 0644
git-add.txt File 13.96 KB 0644
git-am.html File 25.86 KB 0644
git-am.txt File 6.02 KB 0644
git-annotate.html File 23.32 KB 0644
git-annotate.txt File 752 B 0644
git-apply.html File 30.82 KB 0644
git-apply.txt File 10.07 KB 0644
git-archive.html File 25.88 KB 0644
git-archive.txt File 6.05 KB 0644
git-bisect-lk2009.html File 78.86 KB 0644
git-bisect-lk2009.txt File 48.08 KB 0644
git-bisect.html File 33.08 KB 0644
git-bisect.txt File 12.38 KB 0644
git-blame.html File 37.08 KB 0644
git-blame.txt File 7.63 KB 0644
git-branch.html File 31.29 KB 0644
git-branch.txt File 9.87 KB 0644
git-bundle.html File 25.72 KB 0644
git-bundle.txt File 6.89 KB 0644
git-cat-file.html File 21.04 KB 0644
git-cat-file.txt File 2.9 KB 0644
git-check-attr.html File 21.17 KB 0644
git-check-attr.txt File 2.72 KB 0644
git-check-ignore.html File 20.25 KB 0644
git-check-ignore.txt File 2.35 KB 0644
git-check-ref-format.html File 22.43 KB 0644
git-check-ref-format.txt File 4.08 KB 0644
git-checkout-index.html File 24.34 KB 0644
git-checkout-index.txt File 5.31 KB 0644
git-checkout.html File 38.47 KB 0644
git-checkout.txt File 15.61 KB 0644
git-cherry-pick.html File 28.28 KB 0644
git-cherry-pick.txt File 7.73 KB 0644
git-cherry.html File 19.15 KB 0644
git-cherry.txt File 1.71 KB 0644
git-citool.html File 17.13 KB 0644
git-citool.txt File 543 B 0644
git-clean.html File 19.45 KB 0644
git-clean.txt File 1.92 KB 0644
git-clone.html File 34.75 KB 0644
git-clone.txt File 9.84 KB 0644
git-column.html File 18.47 KB 0644
git-column.txt File 1.14 KB 0644
git-commit-tree.html File 25.04 KB 0644
git-commit-tree.txt File 2.79 KB 0644
git-commit.html File 43.18 KB 0644
git-commit.txt File 14.96 KB 0644
git-config.html File 181.42 KB 0644
git-config.txt File 11.52 KB 0644
git-count-objects.html File 18.11 KB 0644
git-count-objects.txt File 1.06 KB 0644
git-credential-cache--daemon.html File 17.4 KB 0644
git-credential-cache--daemon.txt File 684 B 0644
git-credential-cache.html File 19.26 KB 0644
git-credential-cache.txt File 2.13 KB 0644
git-credential-store.html File 19.42 KB 0644
git-credential-store.txt File 2.11 KB 0644
git-credential.html File 23.82 KB 0644
git-credential.txt File 5.72 KB 0644
git-cvsexportcommit.html File 21.34 KB 0644
git-cvsexportcommit.txt File 3.13 KB 0644
git-cvsimport.html File 27.62 KB 0644
git-cvsimport.txt File 7.57 KB 0644
git-cvsserver.html File 38.1 KB 0644
git-cvsserver.txt File 15.21 KB 0644
git-daemon.html File 32.69 KB 0644
git-daemon.txt File 11.58 KB 0644
git-describe.html File 24.35 KB 0644
git-describe.txt File 5.59 KB 0644
git-diff-files.html File 59.9 KB 0644
git-diff-files.txt File 1.18 KB 0644
git-diff-index.html File 64.69 KB 0644
git-diff-index.txt File 4.49 KB 0644
git-diff-tree.html File 82.31 KB 0644
git-diff-tree.txt File 5.26 KB 0644
git-diff.html File 66.63 KB 0644
git-diff.txt File 5.34 KB 0644
git-difftool.html File 22.93 KB 0644
git-difftool.txt File 4.02 KB 0644
git-fast-export.html File 23.45 KB 0644
git-fast-export.txt File 5.16 KB 0644
git-fast-import.html File 92.66 KB 0644
git-fast-import.txt File 53.75 KB 0644
git-fetch-pack.html File 21.26 KB 0644
git-fetch-pack.txt File 3.28 KB 0644
git-fetch.html File 38.95 KB 0644
git-fetch.txt File 2.65 KB 0644
git-filter-branch.html File 37.67 KB 0644
git-filter-branch.txt File 16.84 KB 0644
git-fmt-merge-msg.html File 19.55 KB 0644
git-fmt-merge-msg.txt File 1.87 KB 0644
git-for-each-ref.html File 25.45 KB 0644
git-for-each-ref.txt File 5.72 KB 0644
git-format-patch.html File 58.91 KB 0644
git-format-patch.txt File 18.38 KB 0644
git-fsck-objects.html File 16.88 KB 0644
git-fsck-objects.txt File 354 B 0644
git-fsck.html File 23.33 KB 0644
git-fsck.txt File 4.54 KB 0644
git-gc.html File 23.82 KB 0644
git-gc.txt File 5.34 KB 0644
git-get-tar-commit-id.html File 17.32 KB 0644
git-get-tar-commit-id.txt File 737 B 0644
git-grep.html File 29.02 KB 0644
git-grep.txt File 7.55 KB 0644
git-gui.html File 22.1 KB 0644
git-gui.txt File 3.5 KB 0644
git-hash-object.html File 18.92 KB 0644
git-hash-object.txt File 1.8 KB 0644
git-help.html File 25.14 KB 0644
git-help.txt File 5.99 KB 0644
git-http-backend.html File 28.46 KB 0644
git-http-backend.txt File 9.48 KB 0644
git-http-fetch.html File 18.41 KB 0644
git-http-fetch.txt File 1.14 KB 0644
git-http-push.html File 20.73 KB 0644
git-http-push.txt File 2.91 KB 0644
git-imap-send.html File 22.84 KB 0644
git-imap-send.txt File 4.24 KB 0644
git-index-pack.html File 21.01 KB 0644
git-index-pack.txt File 3.32 KB 0644
git-init-db.html File 16.95 KB 0644
git-init-db.txt File 409 B 0644
git-init.html File 23 KB 0644
git-init.txt File 4.69 KB 0644
git-instaweb.html File 20.06 KB 0644
git-instaweb.txt File 2.25 KB 0644
git-log.html File 111.87 KB 0644
git-log.txt File 5.68 KB 0644
git-lost-found.html File 18.83 KB 0644
git-lost-found.txt File 1.69 KB 0644
git-ls-files.html File 26.46 KB 0644
git-ls-files.txt File 6.1 KB 0644
git-ls-remote.html File 20.11 KB 0644
git-ls-remote.txt File 2.54 KB 0644
git-ls-tree.html File 21.06 KB 0644
git-ls-tree.txt File 2.93 KB 0644
git-mailinfo.html File 20.78 KB 0644
git-mailinfo.txt File 3 KB 0644
git-mailsplit.html File 18.52 KB 0644
git-mailsplit.txt File 1.21 KB 0644
git-merge-base.html File 23.17 KB 0644
git-merge-base.txt File 4.32 KB 0644
git-merge-file.html File 20.71 KB 0644
git-merge-file.txt File 2.72 KB 0644
git-merge-index.html File 19.88 KB 0644
git-merge-index.txt File 2.39 KB 0644
git-merge-one-file.html File 16.9 KB 0644
git-merge-one-file.txt File 387 B 0644
git-merge-tree.html File 17.32 KB 0644
git-merge-tree.txt File 749 B 0644
git-merge.html File 50.38 KB 0644
git-merge.txt File 11.97 KB 0644
git-mergetool--lib.html File 18.23 KB 0644
git-mergetool--lib.txt File 1.18 KB 0644
git-mergetool.html File 20.98 KB 0644
git-mergetool.txt File 3.26 KB 0644
git-mktag.html File 17.63 KB 0644
git-mktag.txt File 806 B 0644
git-mktree.html File 17.94 KB 0644
git-mktree.txt File 1.05 KB 0644
git-mv.html File 18.33 KB 0644
git-mv.txt File 1.16 KB 0644
git-name-rev.html File 19.17 KB 0644
git-name-rev.txt File 1.68 KB 0644
git-notes.html File 35.71 KB 0644
git-notes.txt File 13.08 KB 0644
git-p4.html File 44.35 KB 0644
git-p4.txt File 18.73 KB 0644
git-pack-objects.html File 28.46 KB 0644
git-pack-objects.txt File 8.86 KB 0644
git-pack-redundant.html File 18.24 KB 0644
git-pack-redundant.txt File 1.13 KB 0644
git-pack-refs.html File 19.15 KB 0644
git-pack-refs.txt File 2.06 KB 0644
git-parse-remote.html File 16.97 KB 0644
git-parse-remote.txt File 471 B 0644
git-patch-id.html File 17.71 KB 0644
git-patch-id.txt File 940 B 0644
git-peek-remote.html File 18.03 KB 0644
git-peek-remote.txt File 1.08 KB 0644
git-prune-packed.html File 17.99 KB 0644
git-prune-packed.txt File 935 B 0644
git-prune.html File 19.57 KB 0644
git-prune.txt File 1.76 KB 0644
git-pull.html File 54.96 KB 0644
git-pull.txt File 7.72 KB 0644
git-push.html File 48.49 KB 0644
git-push.txt File 16.26 KB 0644
git-quiltimport.html File 18.4 KB 0644
git-quiltimport.txt File 1.4 KB 0644
git-read-tree.html File 38.05 KB 0644
git-read-tree.txt File 16.36 KB 0644
git-rebase.html File 57.88 KB 0644
git-rebase.txt File 23.62 KB 0644
git-receive-pack.html File 23.98 KB 0644
git-receive-pack.txt File 5.48 KB 0644
git-reflog.html File 20.86 KB 0644
git-reflog.txt File 3.09 KB 0644
git-relink.html File 17.41 KB 0644
git-relink.txt File 649 B 0644
git-remote-ext.html File 22.43 KB 0644
git-remote-ext.txt File 3.93 KB 0644
git-remote-fd.html File 19 KB 0644
git-remote-fd.txt File 1.63 KB 0644
git-remote-helpers.html File 16.45 KB 0644
git-remote-testgit.html File 17.26 KB 0644
git-remote-testgit.txt File 570 B 0644
git-remote.html File 26.62 KB 0644
git-remote.txt File 6.79 KB 0644
git-repack.html File 22.99 KB 0644
git-repack.txt File 4.52 KB 0644
git-replace.html File 19.86 KB 0644
git-replace.txt File 2.26 KB 0644
git-repo-config.html File 16.85 KB 0644
git-repo-config.txt File 324 B 0644
git-request-pull.html File 17.41 KB 0644
git-request-pull.txt File 528 B 0644
git-rerere.html File 25.93 KB 0644
git-rerere.txt File 7.29 KB 0644
git-reset.html File 36.54 KB 0644
git-reset.txt File 14.15 KB 0644
git-rev-list.html File 73.64 KB 0644
git-rev-list.txt File 3.59 KB 0644
git-rev-parse.html File 46.91 KB 0644
git-rev-parse.txt File 10.03 KB 0644
git-revert.html File 22.61 KB 0644
git-revert.txt File 3.69 KB 0644
git-rm.html File 24.83 KB 0644
git-rm.txt File 5.68 KB 0644
git-send-email.html File 36.99 KB 0644
git-send-email.txt File 13.93 KB 0644
git-send-pack.html File 21.8 KB 0644
git-send-pack.txt File 3.6 KB 0644
git-sh-i18n--envsubst.html File 17.64 KB 0644
git-sh-i18n--envsubst.txt File 928 B 0644
git-sh-i18n.html File 18.06 KB 0644
git-sh-i18n.txt File 1.12 KB 0644
git-sh-setup.html File 20.46 KB 0644
git-sh-setup.txt File 2.73 KB 0644
git-shell.html File 20.25 KB 0644
git-shell.txt File 2.47 KB 0644
git-shortlog.html File 24.29 KB 0644
git-shortlog.txt File 2.57 KB 0644
git-show-branch.html File 25.52 KB 0644
git-show-branch.txt File 6.36 KB 0644
git-show-index.html File 17.03 KB 0644
git-show-index.txt File 478 B 0644
git-show-ref.html File 24.15 KB 0644
git-show-ref.txt File 5.83 KB 0644
git-show.html File 38.73 KB 0644
git-show.txt File 1.64 KB 0644
git-stage.html File 16.82 KB 0644
git-stage.txt File 300 B 0644
git-stash.html File 29.25 KB 0644
git-stash.txt File 9.85 KB 0644
git-status.html File 27.38 KB 0644
git-status.txt File 7.77 KB 0644
git-stripspace.html File 19.37 KB 0644
git-stripspace.txt File 1.83 KB 0644
git-submodule.html File 36.33 KB 0644
git-submodule.txt File 15.13 KB 0644
git-svn.html File 73.85 KB 0644
git-svn.txt File 41.53 KB 0644
git-symbolic-ref.html File 19.37 KB 0644
git-symbolic-ref.txt File 1.93 KB 0644
git-tag.html File 31.51 KB 0644
git-tag.txt File 9.44 KB 0644
git-tar-tree.html File 20.04 KB 0644
git-tar-tree.txt File 2.31 KB 0644
git-tools.html File 22.01 KB 0644
git-tools.txt File 3.36 KB 0644
git-unpack-file.html File 17.13 KB 0644
git-unpack-file.txt File 434 B 0644
git-unpack-objects.html File 18.15 KB 0644
git-unpack-objects.txt File 1.14 KB 0644
git-update-index.html File 35.2 KB 0644
git-update-index.txt File 13.2 KB 0644
git-update-ref.html File 20.82 KB 0644
git-update-ref.txt File 3.16 KB 0644
git-update-server-info.html File 17.72 KB 0644
git-update-server-info.txt File 797 B 0644
git-upload-archive.html File 17.35 KB 0644
git-upload-archive.txt File 617 B 0644
git-upload-pack.html File 17.88 KB 0644
git-upload-pack.txt File 869 B 0644
git-var.html File 19.08 KB 0644
git-var.txt File 1.8 KB 0644
git-verify-pack.html File 18.39 KB 0644
git-verify-pack.txt File 1.07 KB 0644
git-verify-tag.html File 17.2 KB 0644
git-verify-tag.txt File 411 B 0644
git-web--browse.html File 21.63 KB 0644
git-web--browse.txt File 3.43 KB 0644
git-whatchanged.html File 35.64 KB 0644
git-whatchanged.txt File 1.55 KB 0644
git-write-tree.html File 17.91 KB 0644
git-write-tree.txt File 1 KB 0644
git.html File 70.05 KB 0644
git.txt File 31.8 KB 0644
gitattributes.html File 62.01 KB 0644
gitattributes.txt File 33.51 KB 0644
gitcli.html File 26.56 KB 0644
gitcli.txt File 7.75 KB 0644
gitcore-tutorial.html File 99.92 KB 0644
gitcore-tutorial.txt File 62.33 KB 0644
gitcredentials.html File 24.45 KB 0644
gitcredentials.txt File 5.93 KB 0644
gitcvs-migration.html File 26.03 KB 0644
gitcvs-migration.txt File 7.38 KB 0644
gitdiffcore.html File 29.51 KB 0644
gitdiffcore.txt File 10.78 KB 0644
gitglossary.html File 48.63 KB 0644
gitglossary.txt File 369 B 0644
githooks.html File 35.01 KB 0644
githooks.txt File 13.48 KB 0644
gitignore.html File 24.81 KB 0644
gitignore.txt File 6.58 KB 0644
gitk.html File 21.61 KB 0644
gitk.txt File 3.23 KB 0644
gitmodules.html File 21.72 KB 0644
gitmodules.txt File 3.76 KB 0644
gitnamespaces.html File 20.5 KB 0644
gitnamespaces.txt File 3.2 KB 0644
gitremote-helpers.html File 39.11 KB 0644
gitremote-helpers.txt File 16.06 KB 0644
gitrepository-layout.html File 28.1 KB 0644
gitrepository-layout.txt File 7.95 KB 0644
gitrevisions.html File 32.66 KB 0644
gitrevisions.txt File 774 B 0644
gittutorial-2.html File 33.55 KB 0644
gittutorial-2.txt File 14.37 KB 0644
gittutorial.html File 44.41 KB 0644
gittutorial.txt File 22.43 KB 0644
gitweb.conf.html File 66.11 KB 0644
gitweb.conf.txt File 37.3 KB 0644
gitweb.html File 50.94 KB 0644
gitweb.txt File 26.34 KB 0644
gitworkflows.html File 38.85 KB 0644
gitworkflows.txt File 17 KB 0644
glossary-content.txt File 21.95 KB 0644
howto-index.html File 21.31 KB 0644
howto-index.txt File 3.29 KB 0644
i18n.txt File 2.16 KB 0644
mailmap.txt File 2.35 KB 0644
merge-config.txt File 3.47 KB 0644
merge-options.txt File 3.58 KB 0644
merge-strategies.txt File 4.6 KB 0644
mergetools-diff.txt File 181 B 0644
mergetools-merge.txt File 187 B 0644
pretty-formats.txt File 7.59 KB 0644
pretty-options.txt File 2.81 KB 0644
pull-fetch-param.txt File 3.19 KB 0644
rev-list-options.txt File 27.11 KB 0644
revisions.txt File 11.5 KB 0644
sequencer.txt File 392 B 0644
urls-remotes.txt File 2.4 KB 0644
urls.txt File 3.12 KB 0644
user-manual.html File 264.08 KB 0644
user-manual.txt File 170.67 KB 0644