我想向后退一步,逐个提交,找到一些我覆盖的 css 样式。我知道git-bisect
;我用过它,但它并没有帮助我找到我以前的工作。
我可以使用以下命令获取按历史顺序排列的提交哈希表:
$ git log --pretty=oneline | awk '{print $1;}'
f3791f1da33b9e92a3a5292a0542834aca0908ef
2720a9ec4bb5b4f7b4dd02b056c375e71a44be3c
a9bb455608db70c76545e5862b89a02f9e9f590d
所以我只需要抓住第一个,然后用git checkout
它做一个。我尝试使用head
,但我对传递语法了解不够,无法将输出正确传递给它:
$ $(git log --pretty=oneline | awk '{print $1;}') | head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found
$ $(git log --pretty=oneline | awk '{print $1;}') > head -1
bash: 0dcca7e530fca682552341718462af150fe27dc5: command not found
如何获取上一个命令的输出顶部
我希望将其作为一行代码,以便我可以将其添加到我的 git 别名中,但如果不是,也没关系;我将制作一个 bash 函数。
答案1
要检查父提交,请运行
git checkout HEAD~1
这可能会令人厌烦地重复,直到到达第一次提交。
如果您需要探索导致合并的不同父级,请^
改用:
git checkout HEAD^2
将检查当前合并提交的第二个父级。
看git-rev-parse
文档中的“指定修订”了解详情。