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부터 현재 상태까지, 매개변수 버전을 확인한 후 이를 제거한 커밋을 찾았습니다.