3

コマンドが常に git コマンドであると想定するように bash を作成できますか?

つまり:

私が書いた場合push origin master、それは実行されgit push origin masterますか?

注: git bash (Windows 環境) で使用するので、通常のコマンド (ls、cd など) は必要ありません。

4

4 に答える 4

2

代わりに、この小さな git シェルを試してみてください。

gitsh () {
    while read -r -p "gitsh> " -a GITCOMMAND; do
        git "${GITCOMMAND[@]}"
    done
}

その関数が定義された後、それを 1 回実行すると、無限ループに入り、コマンド ラインを読み取り、それをオプションとしてコマンドに渡しますgit

編集: gniourf_gniourf で提案されているよう-eに、コマンドにオプションを追加すると、履歴を取得および編集できる優れた Readline ベースの環境が得られます。read

于 2012-12-03T16:28:13.117 に答える
2

よく使用されるコマンドのエイリアスを追加できます。たとえば、次のpushようになりますgit push。このソリューションでは、使用しているすべてのコマンドを指定する必要がありますが、何も壊してはなりません。

于 2012-12-03T15:37:01.533 に答える
1

「git bash」が通常の bash のようなものであると仮定すると、次のcommand_not_found_handle関数を使用します。

function command_not_found_handle {
  command git "$0" "$@"
}

http://www.gnu.org/software/bash/manual/bashref.html#Command-Search-and-Execution

git 不注意なコマンドを送信する可能性はありますが、それが質問で求めていることです。

于 2012-12-03T17:49:20.083 に答える
0

push、commit などの名前のスクリプトを PATH に追加できます。このように、シェルにはプッシュ、コミットなどの「コマンド」があります。これは、bash だけでなく、使用しているシェルで動作するはずです。

于 2012-12-03T15:37:07.640 に答える