Git 으로 파일 추적 여부 확인 방법

GitBeginner
지금 연습하기

소개

이 랩에서는 Git 이 파일을 추적하고 있는지 확인하는 방법을 배우게 됩니다. git ls-filesgit status라는 두 가지 필수 Git 명령어를 살펴볼 것입니다.

먼저, git ls-files를 사용하여 현재 Git 에서 추적하고 있는 모든 파일을 리포지토리에서 나열합니다. 그런 다음, git status를 사용하여 추적 상태를 확인하고 모든 변경 사항이 커밋되었을 때 Git 이 작업 디렉토리의 상태를 보고하는 방식을 이해합니다. 마지막으로, Git 이 추적되지 않은 파일을 어떻게 처리하는지 테스트합니다.

git ls-files 실행하여 파일 확인

이 단계에서는 git ls-files 명령어를 사용하여 Git 이 현재 리포지토리에서 어떤 파일을 추적하고 있는지 확인합니다. 이 명령어는 프로젝트의 기록에 포함된 파일들을 빠르게 파악하는 데 유용합니다.

먼저, my-time-machine 디렉토리에 있는지 확인합니다. 그렇지 않은 경우, cd 명령어를 사용하여 해당 디렉토리로 이동합니다.

cd ~/project/my-time-machine

이제 git ls-files 명령어를 실행합니다.

git ls-files

이전 단계에서 message.txt 파일을 생성하고 커밋했으므로, 출력 결과에 이 파일의 이름이 표시되어야 합니다.

message.txt

git ls-files 명령어는 현재 리포지토리에서 Git 이 추적하고 있는 모든 파일을 나열합니다. 이 파일들은 Git 이 변경 사항을 적극적으로 모니터링하고 커밋에 포함하는 파일들입니다.

어떤 파일이 추적되고 있는지 이해하는 것은 중요합니다. Git 은 추적된 파일의 기록만 관리하기 때문입니다. 추적되지 않은 파일은 커밋을 수행할 때 Git 에 의해 무시됩니다. 이를 통해 프로젝트의 버전 기록에 포함될 내용을 제어할 수 있습니다.

다음 단계에서는 Git 이 아직 추적되지 않은 파일을 어떻게 처리하는지 살펴봅니다.

git status 를 사용하여 추적 상태 확인

이전 단계에서 git ls-files를 사용하여 message.txt가 추적된 파일임을 확인했습니다. 이제 git status 명령어를 다시 사용하여 모든 변경 사항이 커밋되었을 때 Git 이 리포지토리의 상태를 어떻게 보고하는지 살펴보겠습니다.

여전히 ~/project/my-time-machine 디렉토리에 있는지 확인합니다.

git status 명령어를 실행합니다.

git status

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

On branch master
nothing to commit, working tree clean

이 출력은 몇 가지 중요한 정보를 알려줍니다.

  • "On branch master": 우리는 여전히 프로젝트의 주 타임라인에 있습니다.
  • "nothing to commit, working tree clean": 이것이 핵심 부분입니다. 이는 커밋해야 할 작업 디렉토리의 변경 사항이 없음을 의미합니다. Git 은 파일의 현재 상태가 마지막 커밋의 상태와 일치하는 것을 확인합니다.

이는 일련의 변경 사항을 완료하고 커밋했을 때 리포지토리의 이상적인 상태입니다. 이는 작업 디렉토리가 "clean"하고 최신 커밋과 동기화되었음을 나타냅니다.

message.txt를 생성하고 커밋하기 전에 보았던 git status 출력과 비교해 보면, Git 의 상태 메시지가 파일 및 커밋의 상태를 반영하도록 어떻게 변경되는지 알 수 있습니다.

다음 단계에서는 추적되지 않은 파일이 있을 때 Git 의 상태가 어떻게 변경되는지 확인하기 위해 새로운 파일을 추가합니다.

추적되지 않은 파일 테스트

이 단계에서는 my-time-machine 디렉토리에 새 파일을 생성하고 Git 의 상태가 추적되지 않은 파일의 존재를 어떻게 반영하는지 확인합니다.

~/project/my-time-machine 디렉토리에 있는지 확인합니다.

echo 명령어를 사용하여 notes.txt라는 새 파일을 생성합니다.

echo "Some random notes" > notes.txt

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

이제 git status를 사용하여 리포지토리의 상태를 다시 확인해 보겠습니다.

git status

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

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

nothing added to commit but untracked files present (use "git add" to track)

"Untracked files:" 섹션을 주목하십시오. Git 은 새 파일 notes.txt를 감지했지만 추적되지 않고 있다고 알려줍니다. 이는 아직 Git 에게 이 파일을 리포지토리의 기록에 포함하도록 지시하지 않았기 때문입니다.

이것은 Git 의 핵심 개념입니다. git add 명령어를 사용하여 추적하려는 파일을 명시적으로 Git 에 알려야 합니다. 이렇게 하면 Git 이 디렉토리의 모든 파일을 자동으로 포함하는 것을 방지할 수 있습니다. 여기에는 임시 파일, 빌드 아티팩트 또는 프로젝트 기록에 포함하고 싶지 않은 개인 메모가 포함될 수 있습니다.

다음 랩에서는 이 새 파일을 스테이징 영역에 추가하고 커밋하여 리포지토리에서 추적되는 파일로 만드는 방법을 배웁니다.

요약

이 랩에서는 Git 이 파일을 추적하는지 확인하는 방법을 배웠습니다. git ls-files 명령어를 사용하여 현재 리포지토리에서 추적되는 모든 파일을 나열하여 message.txt가 추적되었음을 확인했습니다.

그런 다음 git status 명령어를 사용하여 리포지토리의 상태를 확인했습니다. "nothing to commit, working tree clean" 출력은 모든 변경 사항이 커밋되었고 작업 디렉토리에 추적되지 않은 파일이나 보류 중인 변경 사항이 없음을 나타냅니다. 이는 Git 이 추적된 파일의 상태를 보고하는 방식에 대한 이해를 강화했습니다.