如何通过提交信息而非哈希值使用git commit --fixup?报错求助
问题原因与解决方法
你的命令错误在于多余添加了amend:前缀,这导致Git无法正确解析提交引用规则,从而抛出找不到提交的错误。
Git中通过提交信息匹配来指定目标提交的语法是:/<匹配模式>,这个语法可以直接用于--fixup参数后,不需要额外的amend:前缀——amend是单独的提交选项(用于修改最近一次提交),和这里的提交引用逻辑无关。
正确的命令写法
你可以使用以下任意一种正确格式执行命令:
- 使用单引号包裹匹配模式:
git add -u git commit --fixup=:/'Enable git rebase --autosquash' - 使用双引号包裹匹配模式:
git add -u git commit --fixup=:/"Enable git rebase --autosquash" - 转义模式中的空格(无需引号):
git add -u git commit --fixup=:/Enable\ git\ rebase\ --autosquash
补充说明
:/<模式>默认会匹配最近一次提交信息包含该模式的提交。如果仓库中有多个符合匹配条件的提交,你可以在模式前加!(即:/!<模式>)来匹配最早的那个目标提交。
内容的提问来源于stack exchange,提问作者paradroid
相关产品推荐
相关产品推荐

