3

私はgitのbash補完スクリプトを使用しています。ただし、うまくいかない状況もあります。ブランチ foo-branch とファイル foo-file があるとします。ファイルに変更を加えて破棄したい場合は、次のようにします。

git checkout fo<tab>

これはすぐに foo-branch に完了します。通常、補完オプションが複数ある場合は、ベルが鳴り、別のタブにオプションが表示されます。この場合も、完了をそのように機能させる方法はありますか? それとも、ファイル名の補完よりも git の補完が常に優先されますか?

編集: bash の man ページをざっと見て、ディレクティブ-o plusdirsに追加した を見つけました。completeこれは機能します。ファイル名の引数を取らないコマンドで問題が発生しないかどうかを確認するために、しばらく試してみる必要があります。

4

2 に答える 2

2

filename-completion を ref-completion から分離するには、セパレーターとして -- を追加します。

git checkout foo -- file.c

また

git checkout -- file.c

.

于 2011-08-26T09:08:18.673 に答える
0

単純に思えるかもしれませんが、競合するブランチ名を作らないようにすることで、このような問題を回避しています。

于 2011-08-26T13:30:56.717 に答える