我可以使git reset --hard更安全还是禁用它?

问题描述

我已经养成了定期使用git reset --hard的坏习惯。

我现在发现有git reset --keep,如果我真的需要删除某些内容,我什至可以做git stash && git stash drop

因此,我想禁用硬重置,或者让他们询问无法删除的未提交更改,或者至少创建备份。无需在外壳函数中包装git就能做到吗?

解决方法

git本质上不支持您的要求。

您可以编写一个名为git的脚本或Bash函数,并将其放在gitPATH的前面。脚本或函数只会检查“禁止的命令”,否则运行常规的git程序(例如/usr/bin/git)。

,

众所周知,Git在执行潜在危险的操作时不会警告用户。在任何情况下,对于构成危险的问题,意见可能会有所不同。基本上,当您在命令行上使用Git时,是在说您是高级用户,并且知道自己在做什么。没有办法让Git对这个想法不屑一顾。

相反,您可以使用GUI,例如Sourcetree。它知道reset --hard有潜在危险,并且会发出警报,迫使您停下来并认真思考自己在做什么。