我的 git 所有命令都混乱了,我该如何修复它?

我的 git 所有命令都混乱了,我该如何修复它?

我这样做了(试图用 -v 设置“self”别名):

 git() { if [[ $1 == "commit" ]]; then command git commit -v; else command git "$@"; fi; }
  git() { if [[ $1 == "commit" ]]; then command git commit -v; else command git "$@"; fi; }
  git() { git commit }; )
  git() { git commit; }
  git() { git (); }
  git() { git(); }
  git() { git() }

现在所有 git 命令都挂起 - 没有错误,但没有返回提示。

我已经卸载并安装了 git 但没有帮助。

如何将 git 命令重置回默认值?

我已经尝试过mv .gitconfig .gitconfig_old,但没有帮助。

答案1

你听着真的使困惑。

您运行的所有这些函数定义都在。如果直接从命令行运行它们,那么它们只会影响当前运行的 shell 环境。因此,如果您刚刚关闭终端并启动一个新终端,定义就会丢失,一切都会恢复正常。或者您可以使用 取消设置定义unset -f,如中所述评论

这就是为什么重新安装 git 对你的问题没有影响。

重命名你的.gitconfig也不会产生任何影响。您没有在 中进行更改.gitconfig,那么为什么要这样做呢?

如果你有听从了建议在你之前的问题中,并使用 git 的别名方法设置一个别名,然后移动你的别名.gitconfig确实会产生效果,并且会有效地删除你的别名(以及你的所有其他配置)。

git顺便说一句,所有这些与被覆盖的基本命令的混淆是不允许在其自己的别名系统下进行此类名称重新映射的主要原因。引用git-config 联机帮助页:

“为了避免脚本使用方面的混乱和麻烦,隐藏现有 git 命令的别名将被忽略。”

相关内容