119 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			3.6 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=(local|relative|default|iso|rfc|short) ]
 | |
| 	     [ [\--objects | \--objects-edge] [ \--unpacked ] ]
 | |
| 	     [ \--pretty | \--header ]
 | |
| 	     [ \--bisect ]
 | |
| 	     [ \--bisect-vars ]
 | |
| 	     [ \--bisect-all ]
 | |
| 	     [ \--merge ]
 | |
| 	     [ \--reverse ]
 | |
| 	     [ \--walk-reflogs ]
 | |
| 	     [ \--no-walk ] [ \--do-walk ]
 | |
| 	     <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
 |