git log --author="AlanH" --invert-grep -n1 --format=%H
得到提交最後的哈希承諾,這是不是我。然後我用它來做git rebase -i <commit_hash>
,其中commit_hash
必須從上一個命令的輸出中手動複製和粘貼。
在bash,我想這樣做
squash() {
git rebase -i (git log --author="AlanH" --invert-grep -n1 --format=%H)
}
,使得內部命令首先完成,然後供稿到rebase
命令。 我該怎麼做?
謝謝你建議'rev-list'(這是適當的)。 –
你也可以使用:'git rev-list --author =「AlanH」--invert-grep -n1 HEAD | xargs git rebase -i' – hIpPy
@hIpPy:是的,雖然'xargs'具有不同的預期用途,這對於'git rebase'來說並不合適。 (看起來像你打字'-n2'並將其固定爲'-n1') – torek