web-dev-qa-db-ja.com

Gitチェックアウトの二重ダッシュの意味

このgitコマンドのファイル名の前の二重ダッシュの意味は何ですか?

git checkout --ours -- path/to/file.txt
git checkout --theirs -- path/to/file.txt

それらは必須ですか?それは同等ですか

git checkout --ours path/to/file.txt
git checkout --theirs path/to/file.txt
244
mottalrd

Gitリポジトリにpath/to/file.txtという名前のファイルがあり、その変更を元に戻したいとします。

git checkout path/to/file.txt

ここで、ファイルの名前がmaster...であるとします。

git checkout master

おっと!代わりにブランチが変更されました。 --は、チェックアウトするファイルとチェックアウトするツリーを分離します。

git checkout -- master

一部のfreakoが-fという名前のファイルをリポジトリに追加した場合にも役立ちます。

git checkout -f      # wrong
git checkout -- -f   # right

これは git-checkout:Argument Disambiguation で文書化されています。

350
Dietrich Epp

二重ダッシュ「-」は「コマンドラインフラグの終わり」を意味します。つまり、コマンドラインオプションの後に来るものを解析しようとしないように先行するコマンドに指示します。

98
timmcliu