Gitバージョン1.8.3.1
(CentOS 7で提供)では、このコマンドは機能しないようです。
git cat-file -t -- "5378198ea7a83f5fa9bb3ba17f51be3a6ffbecc1:README.md"
(明らかに、そのリビジョンに正しいgitハッシュと既存のファイルを指定してください)
これは標準エラーです。
usage: git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>
or: git cat-file (--batch|--batch-check) < <list_of_objects>
<type> can be one of: blob, tree, commit, tag
-t show object type
-s show object size
-e exit with zero when there's no error
-p pretty-print object's content
--textconv for blob objects, run textconv on object's content
--batch show info and content of objects fed from the standard input
--batch-check show info about objects fed from the standard input
私にとって問題は、--
エスケープパラメータが連続パラメータではなくそのタイプのエスケープとして解釈されることです。実際、これは私にとって効果的です。
git cat-file -t "5378198ea7a83f5fa9bb3ba17f51be3a6ffbecc1:README.md"
これは存在し、0
次のような結果があります。
blob
簡単に言うと。
質問
--
" "パラメータがgitに導入された時期を調べる方法をどのように提案しますか?
関連文書:
- https://git-scm.com/docs/git-cat-file(詳しくは見えません)
- https://stackoverflow.com/questions/22750028/in-git-what-does-dash-dash-mean(バージョン/時間の詳細なし)
- https://github.com/git-lfs/git-lfs/issues/1072(git自体とは何の関係もありません)
答え1
git cat-file
以前は、引数の数を厳密に確認していましたが、これは--
使用できませんでした。オプションが解析される前に確認が行われるため、引数が無効であることを示すことなく、すぐに使用方法の出力を取得できます。
これは2015年5月に削除されました; この変更を含む最初のバージョンは 2.5.0 です。
これを調べるために比較しました。cat-file.c
バージョン1.8.3.1から現在の状態まで、パラメータバージョンを確認してから削除したコミットを見つけました。