期间,我知道如何轻松地“修复”这种状态下,当我一个互动变基中不小心做了git commit --amend
。但我想知道是否有人有一个解决方案,任何复杂程度的水平,这将允许我配置git/terminal/bash以防止我能够做到这一点。混帐:防止提交衍合
我只是在使用Mac OS X的终端。如果解决方案需要他们,我会接受其他终端程序。
1 @: master$ git pull
2 @: master$ git checkout my/feature/branch
3 @: my/feature/branch$ git rebase -i master
// There are merge conflicts
// I fix them, then
4 @: my/feature/branch$ git add .
// Then what I should do is:
5correct @: my/feature/branch$ git rebase --continue
// But instead, just due to dumb muscle memory, I do:
5incorrect @: my/feature/branch$ git commit --amend
我可以很容易地修复损坏的结果状态。我只是想弄清楚是否有一种方法可以配置一些东西,以防止我能够执行5incorrect命令,如果我处于rebase的中间。
不是真的。您可以使用一个bash别名跑得比'git'本身,当你进入'混帐以外的东西......',并在该别名/功能/脚本,检查你是否是一个重订,以及是否要允许其他一些命令 - 但它是正常的*在交互式rebase期间进行修改和/或额外的提交以分割提交。 (注:使用bash一个诀窍是,'命令foo'运行的实际富,而不是你的别名,所以你需要的时候使用* *在你的别名)。 – torek