From db9dfcb39b2deb6ca74a76013f21d02da487cd16 Mon Sep 17 00:00:00 2001 From: "Rico Sta. Cruz" Date: Thu, 10 Sep 2015 12:27:40 +0800 Subject: [PATCH] Add gitrevisions --- git-revisions.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 git-revisions.md diff --git a/git-revisions.md b/git-revisions.md new file mode 100644 index 000000000..f475849be --- /dev/null +++ b/git-revisions.md @@ -0,0 +1,53 @@ +--- +title: Git revisions +--- + +### Single commits + +- commits: + - `dae68e1` (sha1) + +- refs: + - `HEAD` (ref) + - `master` (branch) + - `v1.0.0` (tag) + - `origin/master` (aka, *refs/remotes/origin/master*) + - `heads/master` + - `refs/heads/master` + +- search back: + - `master@{yesterday}` + - `master@{2}` (2nd prior value) + - `master@{push}` (where *master* would push to) + - `master^` (parent) + - `master^2` (2nd parent, eg, what it merged) + - `master~5` (5 parents back) + - `master^0` (this commit; disambiguates from tags) + - `v0.99.8^{tag}` (can be *commit*, *tag*, *tree*, *object*) + - `v0.99.8^{}` (defaults to *{tag}*) + - `:/fix bug` (searches commit messages) +- other: + - `HEAD:README` + - `0:README` (0 to 3) + +### Ranges + +- `master` (reachable parents from master) +- `^master` (exclude reachable parents from master) +- `master..fix` (reachable from *fix* but not *master*) +- `master...fix` (reachable from *fix* and *master*, but not both) +- `HEAD^@` (parents of *HEAD*) +- `HEAD^!` (*HEAD*, then excluding parents's ancestors) + +### Ranges illustration + +``` + F - master + E C - fix + D B + |-' + A + +master..fix = BC +master...fix = BC and FED +```