본문 바로가기
Program Development Tips/Git

[Git] 파일 상태 완벽 정리: Untracked부터 Staged까지, Git의 모든 상태 이해하기!

by Maccrey Coding 2024. 8. 14.
반응형

Git 사용, 파일 상태부터 이해하자!

안녕하세요, 개발의 길을 걷는 여러분! Git을 처음 접했을 때, "왜 이렇게 복잡하지?"라는 생각을 한 적이 있나요?

파일을 추가하고, 수정하고, 커밋하는 과정에서 "이 파일이 지금 어떤 상태지?"라는 질문이 자연스럽게 떠오를 겁니다.

사실, Git은 파일의 변동사항을 추적하는 과정에서 파일이 다양한 상태를 가지게 되는데요.

이번 포스팅에서는 Git의 Untracked, Tracked, Staged, Modified, Unmodified 상태에 대해 쉽게 설명드리도록 하겠습니다.

이 개념을 잘 이해하면, Git을 사용하는 데 있어서 훨씬 수월해질 거예요.

Git 파일 상태의 이해와 상태 전환 과정

Git에서 파일이 어떤 상태에 있는지에 대한 이해는 매우 중요합니다.

각 상태에 따라 파일을 어떻게 다룰지 결정하게 되니까요.

Git 파일의 상태는 크게 UntrackedTracked로 나뉘고, Tracked 상태는 다시 Staged, Unmodified, Modified로 세분화됩니다. 이 각 상태가 어떤 의미인지, 그리고 어떻게 상태가 변화하는지를 알아봅시다.

 

1. Untracked 상태
먼저 Untracked 상태는 파일이 Git에 의해 추적되지 않는 상태를 의미합니다.
새로운 파일을 만들고 아직 git add 명령어로 Git에 추가하지 않았다면, 그 파일은 Untracked 상태에 있습니다.
Git은 이 파일의 존재는 인식하지만, 어떤 변동사항도 추적하지 않아요. 이 상태의 파일은 깃에 전혀 포함되지 않은 상태이기 때문에, git status 명령어를 입력하면 "Untracked files" 아래에 이 파일이 나열됩니다.

 

2. Tracked 상태
파일이 한 번이라도 git add로 Git에 추가되면, 그 파일은 Tracked 상태로 변경됩니다.
이제부터 Git은 이 파일의 변동사항을 추적하기 시작합니다. Tracked 상태는 다시 세 가지 하위 상태로 나뉩니다.

  • (1) Staged 상태
    Staged 상태는 파일이 수정된 후 git add로 Staging Area에 추가된 상태를 말합니다.
    쉽게 말해, 이 상태의 파일은 다음 커밋에 포함될 준비가 완료된 상태입니다.
    새로운 파일을 생성하고 git add로 추가하거나, 이미 커밋된 파일을 수정한 후 git add로 다시 추가하면 이 상태가 됩니다.
  • (2) Unmodified 상태
    Unmodified 상태는 커밋된 최신 파일과 현재 파일이 동일한 상태를 의미합니다.
    즉, 파일이 수정되지 않았다는 뜻이죠. 커밋 직후에 모든 파일은 이 상태가 되며, Git은 이 상태의 파일을 더 이상 추적하지 않습니다.
  • (3) Modified 상태
    Modified 상태는 파일이 수정된 상태를 의미합니다.
    예를 들어, Unmodified 상태였던 파일을 편집하면, 그 파일은 Modified 상태로 변합니다.
    이 상태의 파일은 git status 명령어로 확인할 수 있으며, 다음 커밋에 포함되기 전까지는 Git이 이 변경 사항을 계속 추적합니다.

Git 파일 상태를 이해하는 것이 중요한 이유

Git의 다양한 파일 상태를 이해하는 것은 Git을 효과적으로 사용하는 첫걸음입니다.

어떤 파일이 Untracked 상태인지, 어떤 파일이 Staged 상태에 있는지를 명확히 파악하는 것은 작업의 흐름을 파악하고 실수를 줄이는 데 큰 도움이 됩니다.

이제부터는 파일이 어떤 상태에 있는지 헷갈리지 않고, 적절한 명령어로 원하는 작업을 수행할 수 있을 것입니다.

Git을 처음 사용하는 개발자부터 경험 많은 개발자까지, 모두가 한 번쯤은 겪는 Git 상태의 혼란.

이 글을 통해 조금이나마 그 혼란이 해소되길 바랍니다.

앞으로는 더 효율적으로 Git을 다루며, 여러분의 코드 관리가 더욱 깔끔해지길 응원합니다!

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

반응형