在执行"git reset --hard"之前提示确认

tba*_*tba -1 git

运行"git reset --hard HEAD"后,未分级的未提交更改将丢失.在运行此(可能是破坏性的)命令之前,是否可以配置git以请求确认?

yac*_*ccz 9

git() {
    if [ "$1" = "rebase" ] && [ "$2" = "--hard" ] && [ "$3" = "HEAD" ] ; then
        echo "are you being a moron again?"
        read i
        if [ "$i" = "no" ]; then
             command git $@
        fi
     fi
}
Run Code Online (Sandbox Code Playgroud)

在你的 ${HOME}/.profile

更新:虽然这是解决问题的一种方法,但是当我对我即将完成的历史重写操作不完全有信心时,我更愿意进行分支备份.我通过强制执行远程WIP分支或使用git-branch-backup来实现备份