1. ホーム
  2. git

Gitにおいて、`--` (ダッシュ)はどのような意味ですか?

2023-12-19 03:51:52

質問

Git コマンドのマニュアルを読んでいると、しばしばオプションの -- (ダッシュダッシュ) があります。私の経験では、この -- は必要なく、何の違いもありません。どのような場合に必要なのでしょうか?多くのコマンドに表示されることから、一般的にどのような意味があるのでしょうか?

どのように解決するのですか?

ダブルダッシュ -- はコマンドによって意味が異なりますが、一般的にはオプションとパラメータを区別するためのものです。

git の意味は、具体的には -- の意味は、どのサブコマンドで使用するかによります。通常、サブコマンドの引数を分離します(例えば git checkout のブランチ名など) とリビジョンやファイル名とを分離します。 時には完全にオプションで、変わったファイル名がプログラムオプションとして解釈されるのを防ぐためだけに使われることもあります。

例として

  • git checkout . コミット(マニュアルでは、オブジェクトタイプの範囲を指定できるため、ツリー型と呼ばれています)をチェックアウトするには、次のようにします。

    git checkout <commit>

    チェックアウトを1つか2つのファイルだけに絞り込むには -- を使用して、チェックアウトしたいファイル名から "tree-ish" パラメータを分離してください。

  • git commit . index にあるものをコミットするには (つまり git add でステージしたもの) をコミットするには、単に git commit コマンドを発行するだけです。

    git commit [-mメッセージ]

    によって追加されたものを無視するには git add を無視し、特定のファイルに変更をコミットするには git commit -- <filename>

  • git add . で始まる名前のファイルをコミットするには - または -- を指定した場合は、パラメータを読み込むのをやめてファイル名を読み込むように git add に指示しなければなりません。 -- がそれを行います。

    git add -- -sample.txt

  • git log . あるファイルに影響を与えたコミットのみに限定してコミット履歴を見るには、次のようにします。

    git log -- filename

gitコマンドの具体的な意味を理解する必要がある場合は、使用するコマンドのマニュアルを確認する必要があります。