X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-rev-parse.txt;h=7757abe62190a066b6ad8b57214b70ff3fa0f12a;hb=a9d9a1bfdddd5f177617abc943fba10f6cc68066;hp=ed938aafb0f7043131489a79e197f1c266cf9607;hpb=0ac3056850394723c9b407754b44d3d37f1dcc3f;p=git.git diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index ed938aafb..7757abe62 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -152,6 +152,18 @@ blobs contained in a commit. used immediately following a ref name and the ref must have an existing log ($GIT_DIR/logs/). +* A ref followed by the suffix '@' with an ordinal specification + enclosed in a brace pair (e.g. '\{1\}', '\{15\}') to specify + the n-th prior value of that ref. For example 'master@\{1\}' + is the immediate prior value of 'master' while 'master@\{5\}' + is the 5th prior value of 'master'. This suffix may only be used + immediately following a ref name and the ref must have an existing + log ($GIT_DIR/logs/). + +* You can use the '@' construct with an empty ref part to get at a + reflog of the current branch. For example, if you are on the + branch 'blabla', then '@\{1\}' means the same as 'blabla@\{1\}'. + * A suffix '{caret}' to a revision parameter means the first parent of that commit object. '{caret}' means the th parent (i.e. 'rev{caret}' @@ -178,6 +190,13 @@ blobs contained in a commit. and dereference the tag recursively until a non-tag object is found. +* A colon, followed by a slash, followed by a text: this names + a commit whose commit message starts with the specified text. + This name returns the youngest matching commit which is + reachable from any ref. If the commit message starts with a + '!', you have to repeat that; the special sequence ':/!', + followed by something else than '!' is reserved for now. + * A suffix ':' followed by a path; this names the blob or tree at the given path in the tree-ish object named by the part before the colon. @@ -236,17 +255,24 @@ reachable from `r1` from the set of commits reachable from A similar notation "`r1\...r2`" is called symmetric difference of `r1` and `r2` and is defined as "`r1 r2 --not $(git-merge-base --all r1 r2)`". -It it the set of commits that are reachable from either one of +It is the set of commits that are reachable from either one of `r1` or `r2` but not from both. -Here are a few examples: - - D A B D - D F A B C D F - ^A G B D - ^A F B C F - G...I C D F G I - ^B G I C D F G I +Two other shorthands for naming a set that is formed by a commit +and its parent commits exists. `r1{caret}@` notation means all +parents of `r1`. `r1{caret}!` includes commit `r1` but excludes +its all parents. + +Here are a handful examples: + + D G H D + D F G H I J D F + ^G D H D + ^D B E I J F B + B...C G H D E B C + ^D B C E I J F B C + C^@ I J F + F^! D G H D F Author ------