124 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
| git-rev-list(1)
 | |
| ===============
 | |
| 
 | |
| NAME
 | |
| ----
 | |
| git-rev-list - Lists commit objects in reverse chronological order
 | |
| 
 | |
| 
 | |
| SYNOPSIS
 | |
| --------
 | |
| [verse]
 | |
| 'git rev-list' [ --max-count=<number> ]
 | |
| 	     [ --skip=<number> ]
 | |
| 	     [ --max-age=<timestamp> ]
 | |
| 	     [ --min-age=<timestamp> ]
 | |
| 	     [ --sparse ]
 | |
| 	     [ --merges ]
 | |
| 	     [ --no-merges ]
 | |
| 	     [ --min-parents=<number> ]
 | |
| 	     [ --no-min-parents ]
 | |
| 	     [ --max-parents=<number> ]
 | |
| 	     [ --no-max-parents ]
 | |
| 	     [ --first-parent ]
 | |
| 	     [ --remove-empty ]
 | |
| 	     [ --full-history ]
 | |
| 	     [ --not ]
 | |
| 	     [ --all ]
 | |
| 	     [ --branches[=<pattern>] ]
 | |
| 	     [ --tags[=<pattern>] ]
 | |
| 	     [ --remotes[=<pattern>] ]
 | |
| 	     [ --glob=<glob-pattern> ]
 | |
| 	     [ --ignore-missing ]
 | |
| 	     [ --stdin ]
 | |
| 	     [ --quiet ]
 | |
| 	     [ --topo-order ]
 | |
| 	     [ --parents ]
 | |
| 	     [ --timestamp ]
 | |
| 	     [ --left-right ]
 | |
| 	     [ --left-only ]
 | |
| 	     [ --right-only ]
 | |
| 	     [ --cherry-mark ]
 | |
| 	     [ --cherry-pick ]
 | |
| 	     [ --encoding=<encoding> ]
 | |
| 	     [ --(author|committer|grep)=<pattern> ]
 | |
| 	     [ --regexp-ignore-case | -i ]
 | |
| 	     [ --extended-regexp | -E ]
 | |
| 	     [ --fixed-strings | -F ]
 | |
| 	     [ --date=<format>]
 | |
| 	     [ [ --objects | --objects-edge | --objects-edge-aggressive ]
 | |
| 	       [ --unpacked ]
 | |
| 	       [ --filter=<filter-spec> [ --filter-print-omitted ] ] ]
 | |
| 	     [ --missing=<missing-action> ]
 | |
| 	     [ --pretty | --header ]
 | |
| 	     [ --bisect ]
 | |
| 	     [ --bisect-vars ]
 | |
| 	     [ --bisect-all ]
 | |
| 	     [ --merge ]
 | |
| 	     [ --reverse ]
 | |
| 	     [ --walk-reflogs ]
 | |
| 	     [ --no-walk ] [ --do-walk ]
 | |
| 	     [ --count ]
 | |
| 	     [ --use-bitmap-index ]
 | |
| 	     <commit>... [ \-- <paths>... ]
 | |
| 
 | |
| DESCRIPTION
 | |
| -----------
 | |
| 
 | |
| List commits that are reachable by following the `parent` links from the
 | |
| given commit(s), but exclude commits that are reachable from the one(s)
 | |
| given with a '{caret}' in front of them.  The output is given in reverse
 | |
| chronological order by default.
 | |
| 
 | |
| You can think of this as a set operation.  Commits given on the command
 | |
| line form a set of commits that are reachable from any of them, and then
 | |
| commits reachable from any of the ones given with '{caret}' in front are
 | |
| subtracted from that set.  The remaining commits are what comes out in the
 | |
| command's output.  Various other options and paths parameters can be used
 | |
| to further limit the result.
 | |
| 
 | |
| Thus, the following command:
 | |
| 
 | |
| -----------------------------------------------------------------------
 | |
| 	$ git rev-list foo bar ^baz
 | |
| -----------------------------------------------------------------------
 | |
| 
 | |
| means "list all the commits which are reachable from 'foo' or 'bar', but
 | |
| not from 'baz'".
 | |
| 
 | |
| A special notation "'<commit1>'..'<commit2>'" can be used as a
 | |
| short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of
 | |
| the following may be used interchangeably:
 | |
| 
 | |
| -----------------------------------------------------------------------
 | |
| 	$ git rev-list origin..HEAD
 | |
| 	$ git rev-list HEAD ^origin
 | |
| -----------------------------------------------------------------------
 | |
| 
 | |
| Another special notation is "'<commit1>'...'<commit2>'" which is useful
 | |
| for merges.  The resulting set of commits is the symmetric difference
 | |
| between the two operands.  The following two commands are equivalent:
 | |
| 
 | |
| -----------------------------------------------------------------------
 | |
| 	$ git rev-list A B --not $(git merge-base --all A B)
 | |
| 	$ git rev-list A...B
 | |
| -----------------------------------------------------------------------
 | |
| 
 | |
| 'rev-list' is a very essential Git command, since it
 | |
| provides the ability to build and traverse commit ancestry graphs. For
 | |
| this reason, it has a lot of different options that enables it to be
 | |
| used by commands as different as 'git bisect' and
 | |
| 'git repack'.
 | |
| 
 | |
| OPTIONS
 | |
| -------
 | |
| 
 | |
| :git-rev-list: 1
 | |
| include::rev-list-options.txt[]
 | |
| 
 | |
| include::pretty-formats.txt[]
 | |
| 
 | |
| GIT
 | |
| ---
 | |
| Part of the linkgit:git[1] suite
 |