Git revisioncheatsheet
一个 revision 的规范及使用方法整理,从 man gitrevisions
整理而来,可以用于 git log
等命令
示例
参考 | 说明 |
---|---|
git log master...develop | 查看分支的不同 |
git rebase -i HEAD~3 | Rebase 最新的 3 个 Commit |
git reset --hard HEAD@{2} | 撤销最新的操作 |
git checkout v2^{} | 切换到 v2 标签 (不是 v2 分支) |
The 3rd argument in each of these commands is a gitrevision
. These gitrevisions can be passed to many Git commands.
常见的 Revision
示例 | 说明 |
---|---|
git show dae68e1 | SHA1 |
git show HEAD | reference |
git show v1.0.0 | 标签 |
--- | --- |
git show master | 本地分支 |
git show origin/master | 远程分支 |
--- | --- |
git show master~2 | master 之前的两个 Commit |
--- | --- |
git show master..fix | 从 fix 到 master (不包括 master) |
git show master...fix | 从 fix 到 master (fix 和 master 均不包括) |
参考
Commit
| git checkout
dae68e1
| sha1 |
参考
示例 | 说明 |
---|---|
git checkout HEAD | reference |
git checkout master | branch |
git checkout v1.0.0 | tag |
--- | --- |
git checkout origin/master | 也可写作, refs/remotes/origin/master |
git checkout heads/master | 也可写作, refs/heads/master |
向前检索
示例 | 说明 |
---|---|
git checkout master@{yesterday} | 也可以写 1 day ago, 等等 |
git checkout master@{2} | 向前数第二个 |
git checkout master@{push} | master 将要 push 的地方 |
--- | --- |
git checkout master^ | master 之前的 commit |
git checkout master^2 | master 的前两个 commit |
git checkout master~5 | master 的前 5 个 commit |
git checkout master^0 | 当前 commit |
--- | --- |
git checkout v0.99.8^{tag} | 可以是 commit, tag, tree, object |
git checkout v0.99.8^{} | 默认是 {tag} |
--- | --- |
git checkout ":/fix bug" | 搜搜 commit 的信息 |
其他
| HEAD:README
| ... |
| 0:README
| (0 to 3) ... |
范围
范围
| git log
master
| master 分支的祖先 Commit |
| git log
^master
| master 分支的祖先 Commit, 但排除祖先的祖先 |
| git log
master..fix
| 从 fix 到 master 不包含 master |
| git log
master...fix
| 从 fix 到 master, master 和 fix 均不包含 |
| git log
HEAD^@
| HEAD 的祖先 Commit |
| git log
HEAD^!
| HEAD, 但排除祖先的祖先节点 |
| git log
HEAD^
| 搜之前一个 HEAD 匹配的标准|
范围图标
NOHIGHLIGHTA ─┬─ E ── F ── G master │ └─ B ── C ── D fix
| git log
master..fix
| BCD |
| git log
master...fix
| BCD and EFG |
参考资料
- Git Tools - Revision 选择 (git-scm.com)
- gitrevisions(7) (kernel.org)