【发布时间】:2015-06-25 12:34:01
【问题描述】:
在这种情况下:
v HEAD
o--o--o--x--o--o (foo)
/
o--o--o--o--o--o--o (master)
如果我想后退一步,我输入:
$ git checkout HEAD~1
v HEAD
o--o--o--x--o--o (foo)
/
o--o--o--o--o--o--o (master)
如果我想向前迈出一步,我提出了这个荒谬的命令:
$ git log --pretty=oneline --all | \
grep -B1 `git rev-parse HEAD` | \
head -n1 | egrep -o '[a-f0-9]{20,}' | xargs git checkout
v HEAD
o--o--o--x--o--o (foo)
/
o--o--o--o--o--o--o (master)
我能不能做得更好,比如git checkout HEAD+1?
我在~/.gitconfig 中的当前实现是:
[alias]
# Move forward/Backward
fw = "!git log --pretty=oneline --all | grep -B1 `git rev-parse HEAD` | head -n1 | egrep -o '[a-f0-9]{20,}' | xargs git checkout"
bw = "!git checkout HEAD~1"
【问题讨论】:
标签: git