Git:如果给出提交SHA,我可以获取前一个吗?

时间:2015-01-13 16:54:02

标签: git bash shell scripting

我的目的是在提交提交之前编写一个脚本来进行rebase,以便通过提供SHA(长期考虑允许用户提供正则表达式,但你明白了点)来修复提交。

任何有创意的解决方案?在这里使用bash。

1 个答案:

答案 0 :(得分:2)

来自gitrevisions手册页:

  

^,例如HEAD ^,v1.5.1 ^ 0

     

修订参数的后缀^表示该提交对象的第一个父级。 ^表示第一个父(即^等于^ 1)。作为一项特殊规则,^ 0表示提交本身,并且在引用提交对象的标记对象的对象名称时使用。

     

〜,例如主〜3

     

修订参数的后缀〜表示提交对象,它是指定提交对象的第一代祖先,仅跟随第一个父对象。即~3相当于^^^,相当于^ 1 ^ 1 ^ 1。请参阅下文,了解此表单的使用说明。

因此rev^rev~都是提交的(第一个)父修订版。正如@Jubobs在他的评论中所说的那样,任何给定的修订都可以有多个父母。