Git 저장소에서 추적되지 않은 파일 확인 방법

GitBeginner
지금 연습하기

소개

이 랩에서는 Git 저장소 내에서 추적되지 않은 파일을 식별하는 방법을 배우게 됩니다. 추적되지 않은 파일을 이해하는 것은 프로젝트의 상태를 관리하고 관련 파일만 버전 관리에 포함되도록 하는 데 매우 중요합니다.

먼저 기본 git status 명령을 사용하여 추적되지 않은 파일을 나열하고 해당 출력을 이해하는 것으로 시작합니다. 그 다음, 추적되지 않은 파일을 더 직접적으로 나열하는 방법을 제공하는 git ls-files --others 명령을 살펴보겠습니다. 마지막으로, 이 과정에서 무시된 파일을 고려하는 방법에 대해 간략하게 다루겠습니다.

git status 실행하여 추적되지 않은 파일 목록 확인

이 단계에서는 git status 명령을 사용하여 프로젝트 디렉토리 내에서 Git 에 의해 추적되지 않는 파일이 무엇인지 확인하는 방법을 배우겠습니다. 이는 저장소의 상태를 이해하는 데 기본적인 명령입니다.

먼저, 프로젝트 디렉토리에 있는지 확인하십시오. 이전 랩을 따랐다면 ~/project/my-time-machine 디렉토리에 있어야 합니다. pwd 명령을 사용하여 현재 디렉토리를 확인할 수 있습니다.

pwd

출력은 다음과 유사해야 합니다.

/home/labex/project/my-time-machine

이제 이 디렉토리에 새 파일을 만들어 보겠습니다. notes.txt라고 부르겠습니다.

echo "Some random notes" > notes.txt

이 명령은 notes.txt라는 파일을 생성하고 텍스트 "Some random notes"를 파일에 씁니다.

이제 git status를 실행하여 Git 이 이 새 파일을 어떻게 인식하는지 확인해 보겠습니다.

git status

다음과 유사한 출력을 볼 수 있습니다.

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   message.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        notes.txt

no changes added to commit (use "git add" and/or "git commit -a")

"Untracked files:" 섹션을 주목하십시오. Git 은 notes.txt가 추적되지 않은 파일이라고 알려줍니다. 이는 Git 이 파일을 인식하지만 현재 해당 버전을 관리하지 않음을 의미합니다. Git 은 명시적으로 지시하지 않는 한 이 파일을 커밋에 포함하지 않습니다.

추적되지 않은 파일을 이해하는 것은 저장소를 깨끗하게 유지하고 프로젝트의 일부인 파일만 추적하는 데 도움이 되므로 중요합니다. 임시 파일, 빌드 아티팩트 또는 개인 메모는 종종 추적되지 않은 상태로 남겨둡니다.

git ls-files --others 명령어를 사용하여 확인

이전 단계에서는 git status를 사용하여 추적되지 않은 파일을 확인했습니다. git status는 저장소의 상태에 대한 좋은 개요를 제공하지만, 때로는 추적되지 않은 파일만 간단하게 나열하고 싶을 수 있습니다. 이럴 때 git ls-files --others가 유용합니다.

여전히 ~/project/my-time-machine 디렉토리에 있는지 확인하십시오.

이제 다음 명령을 실행합니다.

git ls-files --others

다음 출력을 볼 수 있습니다.

notes.txt

이 명령은 Git 에 의해 추적되지 않는 작업 디렉토리의 모든 파일을 나열합니다. git status의 자세한 출력에 비해 추적되지 않은 파일만 더 직접적으로 확인할 수 있는 방법입니다.

--others 옵션은 git ls-files에게 Git 인덱스의 일부가 아닌 파일 (즉, 추적되지 않은 파일) 만 나열하도록 지시합니다. 이는 스크립팅에 유용하거나 프로젝트에서 새롭고 추적되지 않은 항목의 빠른 목록이 필요한 경우에 유용합니다.

git status 대신 git ls-files --others를 사용하는 이유가 궁금할 수 있습니다. git status는 수정 및 스테이징된 파일을 포함한 포괄적인 보기를 제공하는 반면, git ls-files --others는 특별히 추적되지 않은 파일만 나열하도록 설계되었습니다. 이는 임시 파일을 정리하는 스크립트와 같이 추적되지 않은 파일을 프로그래밍 방식으로 처리하거나 관리하려는 경우에 매우 유용할 수 있습니다.

무시된 파일 확인과 결합

이전 단계에서 git statusgit ls-files --others를 사용하여 추적되지 않은 파일을 식별하는 방법을 배웠습니다. 그러나 때로는 임시 파일, 빌드 출력 또는 민감한 정보가 포함된 구성 파일과 같이 Git 이 의도적으로 추적하지 않으려는 파일이 있습니다. Git 을 사용하면 이러한 파일을 .gitignore 파일에 지정할 수 있습니다.

이 단계에서는 .gitignore 파일을 만들고 git statusgit ls-files --others의 출력에 어떤 영향을 미치는지 살펴보겠습니다.

먼저, ~/project/my-time-machine 디렉토리에 있는지 확인하십시오.

이제 무시하려는 파일을 만들어 보겠습니다. temp.log라고 부르겠습니다.

echo "This is a temporary log file" > temp.log

git status를 다시 실행합니다.

git status

notes.txttemp.log가 모두 추적되지 않은 파일로 나열되는 것을 볼 수 있습니다.

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   message.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        notes.txt
        temp.log

no changes added to commit (use "git add" and/or "git commit -a")

이제 .gitignore 파일을 만들고 temp.log를 추가해 보겠습니다. nano 편집기를 사용하여 파일을 만들고 편집합니다.

nano .gitignore

nano 편집기 내에서 다음 줄을 입력합니다.

temp.log

Ctrl + X를 누른 다음 Y를 눌러 저장하고 Enter를 눌러 파일 이름을 확인합니다.

이제 git status를 다시 한 번 실행합니다.

git status

이번에는 temp.log가 "Untracked files:" 목록에 더 이상 나타나지 않아야 합니다.

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   message.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        notes.txt

no changes added to commit (use "git add" and/or "git commit -a")

Git 은 이제 temp.log를 무시하도록 알고 있습니다. git ls-files --others가 어떻게 영향을 받는지 살펴보겠습니다.

git ls-files --others

출력은 이제 notes.txt만 표시해야 합니다.

notes.txt

기본적으로 git ls-files --others는 무시된 파일을 나열하지 않습니다. 일반적으로 Git 에 명시적으로 무시하도록 지시한 파일을 보고 싶지 않으므로 이것이 원하는 동작입니다.

다른 추적되지 않은 파일과 함께 무시된 파일을 보고 싶다면 git ls-files --others와 함께 --ignored 옵션을 사용할 수 있습니다.

git ls-files --others --ignored

출력에는 이제 추적되지 않은 파일과 무시된 파일이 모두 포함됩니다.

.gitignore
notes.txt
temp.log

.gitignore 자체는 추가하고 커밋할 때까지 추적되지 않은 파일입니다.

.gitignore를 사용하는 방법을 이해하는 것은 저장소를 깨끗하게 유지하고 실제 프로젝트 파일에 집중하는 데 매우 중요합니다. 버전 관리에 포함되지 않아야 하는 파일의 실수로 인한 커밋을 방지합니다.

요약

이 랩에서는 Git 저장소에서 추적되지 않은 파일을 식별하는 방법을 배웠습니다. 먼저 저장소의 상태에 대한 포괄적인 개요를 제공하는 기본 git status 명령을 사용했습니다. 여기에는 추적되지 않은 파일에 대한 전용 섹션이 포함됩니다. 이 명령은 Git 이 현재 관리하지 않는 파일을 이해하는 데 필수적입니다.

그런 다음 추적되지 않은 파일을 나열하는 대체 방법으로 git ls-files --others 명령을 탐색했습니다. 이 명령은 추적되지 않은 파일만 나열하여 더 간단한 출력을 제공합니다. 세 번째 단계의 전체 내용은 제공되지 않지만, 제목은 이 확인을 .gitignore 파일을 통해 Git 추적에서 의도적으로 제외된 파일인 무시된 파일의 고려 사항과 결합하는 것을 포함할 것임을 시사합니다.