2012-11-10 2 views
176

이 git 명령에서 파일 이름 앞에 이중 대시가 의미하는 것은 무엇입니까?Git checkout 이중 대시 의미

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

필수 항목입니까? 내가 내 Git 저장소에 path/to/file.txt라는 이름의 파일을 가지고 있고, 나는 그것을 변경 사항을 되돌릴한다고 가정

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

셸 표현입니다. http://unix.stackexchange.com/questions/11376/what-does-double-dash-mean – iltempo

+9

@iltempo : Git과 약간 다릅니다. Git의 경우 나무와 경로가 똑같아 보이는 경우 경로에서 트리를 분리합니다. –

+0

@Dietrich_Epp. 내가 참조. 명확히 해 주셔서 감사합니다. – iltempo

답변

254

에 해당합니다.

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에 설명되어 있습니다.

+10

이것은 bit 명령뿐만 아니라 많은 bash 명령에도 해당됩니다. – NHDaly

+28

@NHDaly : 네, 맞습니다. 그러나, 용어 참고 : "Bash는"단지 몇 가지 명령 (아마 20 정도)을 가지고, 대부분의 명령은 배쉬에서 별도의 프로그램입니다. 실제로 POSIX 표준의 일부분으로'--'는 옵션을 다른 인자와 분리 할 수 ​​있기 때문에'cp'와'mv' (Bash의 일부는 아님)와 같은 명령에서 볼 수 있습니다. –

+4

이 구문이'checkout' 명령 문서에 제대로 설명되지 않은 이유는 무엇입니까? – TanguyP

67

이중 대시 "-"는 "명령 행 플래그의 끝"을 의미합니다. 즉, 앞의 명령에 명령 행 옵션 뒤에 오는 것을 구문 분석하지 않도록 지시합니다.

관련 문제