すべての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

あなたは聞く本物混乱してください。

実行するすべての関数定義は次のとおりです。シェル。コマンドラインから直接実行すると、現在実行中のシェル環境にのみ影響します。したがって、端末を閉じて新しい端末を起動すると、定義が失われ、すべてが正常に戻ります。または、unset -f次に説明するように設定されていない定義を使用できます。コメント

そのため、gitを再インストールしても問題には影響しません。

名前を変更しても.gitconfig効果はありません。では変更しませんでしたが、.gitconfigなぜですか?

お持ちの場合アドバイスに従った前の質問でgitのエイリアスメソッドを使用してエイリアスを設定し、エイリアスを移動すると効果が.gitconfigあり、エイリアス(および他のすべての設定)が効果的に削除されます。

gitちなみに、オーバーライドされた基本コマンドとのこれらのすべての混乱は、これらの名前の再マッピングが独自のエイリアスシステムでは許可されない主な理由です。引用するgit-configのマンページ:

「スクリプトの使用に伴う混乱や問題を避けるために、既存のgitコマンドを隠すエイリアスは無視されます。」

関連情報