首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一行代码以在git回购中后退一次提交。

编写一行代码以在git回购中后退一次提交。
EN

Unix & Linux用户
提问于 2018-04-25 15:07:03
回答 1查看 125关注 0票数 0

我想退一步,一个接一个地提交,找到一些我重写的css样式。我知道git-bisect,我使用它,但它并没有帮助我找到我的旧工作。

我可以使用以下命令按历史顺序获得一个提交散列表:

代码语言:javascript
复制
$ git log --pretty=oneline | awk '{print $1;}'

f3791f1da33b9e92a3a5292a0542834aca0908ef
2720a9ec4bb5b4f7b4dd02b056c375e71a44be3c
a9bb455608db70c76545e5862b89a02f9e9f590d

所以我只需要抓住第一个,然后用它做一个git checkout。我尝试过使用head,但是我对pass语法还不太了解,无法正确地将输出传递给它:

代码语言:javascript
复制
$ $(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函数。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-04-25 15:09:37

要签出父提交,请运行

代码语言:javascript
复制
git checkout HEAD~1

这可能会令人恶心地重复,直到你到达第一次提交为止。

如果需要探索导致合并的不同父母,请使用^

代码语言:javascript
复制
git checkout HEAD^2

将签出当前合并提交的第二个父级。

详情请参见中的“指定修订”git-rev-parse文档

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/440012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档