期間,我知道如何輕鬆地「修復」這種狀態下,當我一個互動變基中不小心做了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