0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

git コマンドラインオプション ヒント(noは付け外しできる、長いオプションは一意であるかぎり省略できる

Last updated at Posted at 2022-01-31
  • 短いオプション(ハイフン1つ(-)に続く)
  • 長いオプション(ハイフン2つ(--)に続く)

短いオプションはおまとめできる(割と普通)

-a -b-ab とできる。

できるけど、おまとめしないのを推奨。

長いオプションは、おまとめはできない(割と普通)

長いオプションは 前に no- が付けられる

--hogehoge とあったとき --no-hogehoge とできる。

マニュアルページに結構書いてあるけども、書いてないのでもぢつは指定できる。意味のある動作になるかどうかは実装依存である。

例えば git add --patch --no-patch とすると、--patchの機能を取り消す。

git add -p --no-patch はOKである。

git add -p -no-p はNG(短いオプションには no- 形式は無いのである)

no- とあるものは no- を外す事ができる。意味のある動作になるかどうかは実装依存である。

ブール値の長いオプションは、「no-」を前に付けることで「否定」(または「未設定」(unset))にできます。

また、ブール値以外の長いオプションは、no- を前に付けることで設定を解除(unset)できます(たとえば、文字列をNULLに設定し、整数を0に設定します)。

長いオプションは省略形を許す事

一意であるかぎり短くできる。例えば --option--opt とかできる。

その場で使うにはこれでよいが、シェルスクリプト等で使う場合は、将来gitで一意にならないような似た名前のオプションが実装される可能性が常にあるのにそういうことは禁止である。まじめにちゃんと書け。

当該コマンドのソース(C言語)に PARSE_OPT_KEEP_UNKNOWN が指定してあるとできない。

注意

通常は parse-option API を使うのでこの通りなのだけども、フルカスタムとか parse-option API を使わないとかも可能なので、最終的にはコマンドごとの実装依存である。

詳しくは

解説

実装

※Examplesの test-parse-options.c は t/helper/ フォルダ内にあります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?