我怎样才能禁用;git checkout";在Git2.23中?
现在Git 2.23支持了我怎样才能禁用;git checkout";在Git2.23中?,git,Git,现在Git 2.23支持了Git开关和Git恢复,我想通过阻止Git签出工作来重新训练我的肌肉记忆。如何使git checkout输出一条错误消息并以非零状态退出?没有一种方法可以准确地执行您的请求 Git不允许您使用别名重写内置子命令,这是有充分理由的。您正在使用的其他工具可能会使用git checkout,允许您使用其他工具覆盖它会破坏所有工具 但是,您可以在shell配置中重写git命令,以便在子命令为checkout时失败,如下所示: git () { if [ "$1" = "
Git开关
和Git恢复
,我想通过阻止Git签出
工作来重新训练我的肌肉记忆。如何使git checkout输出一条错误消息并以非零状态退出?没有一种方法可以准确地执行您的请求
Git不允许您使用别名重写内置子命令,这是有充分理由的。您正在使用的其他工具可能会使用git checkout
,允许您使用其他工具覆盖它会破坏所有工具
但是,您可以在shell配置中重写git
命令,以便在子命令为checkout
时失败,如下所示:
git () {
if [ "$1" = "checkout" ]
then
echo "Don't use checkout; use switch or restore." >&2
return 1
else
command git "$@"
fi
}
只要只为交互式Shell加载,而不为非交互式Shell(如脚本)加载,就应该可以工作,并且不会对任何事情产生负面影响。如何在您选择的shell中实现这一点是一个练习,因为您尚未指定要使用的shell
另外,请注意手册页面中的警告,即git开关
和git还原
是实验性的,可能会改变