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 |