Git에서 --옵션과 파일/경로를 구분하기 위해 사용됩니다. 특히 --는 Git 명령어에서 옵션(예: -b, -m)과 파일명을 명확히 구분하는 역할을 합니다.

 

예시 설명: git checkout -- file.txt

 

이 명령어는 file.txt 파일을 최신 커밋 상태로 복원하는 역할을 합니다. 즉, 워킹 디렉토리에서 파일을 수정했을 경우, 그 파일을 변경 전 상태(현재 브랜치의 마지막 커밋)로 되돌립니다.

 

의미:

1. -- 앞: Git 명령과 옵션이 올 수 있습니다.

여기서 checkout은 특정 브랜치로 이동하거나 파일을 복원하는 명령입니다.

2. -- 뒤: 파일이나 경로를 지정합니다.

file.txt라는 특정 파일이 대상입니다.

 

왜 --가 필요할까?

Git은 checkout 뒤에 오는 내용을 파일로 볼지 브랜치 이름으로 볼지 혼동할 수 있습니다.

--를 사용하면, Git이 file.txt를 브랜치가 아닌 파일로 인식하도록 명확히 알려줍니다.

 

예제:

1. 파일 복원하기 (변경 사항 삭제):

 

git checkout -- file.txt

 

file.txt의 워킹 디렉토리 수정 내용을 삭제하고, 마지막 커밋 상태로 되돌립니다.

 

2. 브랜치로 체크아웃 (다른 브랜치로 전환):

 

git checkout main

 

main은 브랜치 이름으로 인식됩니다.

 

3. 혼동 방지:

 

git checkout my-branch

 

Git은 my-branch가 브랜치인지 파일인지 모를 수 있습니다.

--를 사용하여 명확히 구분할 수 있습니다:

 

git checkout -- my-branch

 

여기서 my-branch는 파일로 간주됩니다.

 

정리:

--는 옵션과 파일/경로를 구분하는 역할을 합니다.

특히 브랜치 이름과 파일 이름이 겹치는 경우에 유용합니다.

git checkout -- file.txt파일을 변경 전 상태로 복원합니다.

'git' 카테고리의 다른 글

[git] git commit을 한 이후에 진행해야 하는 작업  (0) 2025.01.02
[git] commit 메시지 규칙  (0) 2025.01.01
[git] 주요 커맨드  (0) 2025.01.01

+ Recent posts