개발
[Git] gitIgnore 안될때 (Intellij) 본문
여러가지 이유가 있겠지만 staged 상태와 관련해서 알아보려고 한다.
Git의 워킹 디렉토리의 모든 파일은 크게 Tracked(관리대상)과 Untracked(관리대상이 아님)으로 나눈다.
- Tracked : 이미 스냅샷에 포함돼 있던 파일
- Unmodified(수정하지않음), Modified(수정함), Staged(커밋으로 저장소에 기록할) 상태 중 하나이다.
간단히 말하면 Git이 알고있는 파일.
- Untracked 파일 : 워킹 디렉토리에 있는 파일 중 스냅샷에도 StagingArea에도 포함되지 않는 파일.
처음 저장소를 Clone하면 모두 Tracked이면서 Unmonodified 상태이다.
Integllij에서 새로운 Java파일 생성시에 다음과같은 메세지가 나온다.
Add를 누를경우 해당 파일은 Tracked중 Staged 상태가 된다.
Cancel을 누를경우 Untracked 상태가 된다.
다음은 Commit창에서 확인한 Tracked 파일과 Untracked 파일의 차이이다. Cancel을 누른 G.java파일은 Unversioned에 위치함을 알 수 있다.
E,F,G 를 모두 .gitignore에 등록했지만 G파일만 ignore 됐다.
E,F를 gitignore를 적용하려면, restore 명령어를 통해 Untracked 상태로 만들자. reset중 mixed를 이용할 수도있다.
git restore --staged [파일명]
'GIT' 카테고리의 다른 글
[Git] Pull, merge (Intellij) (0) | 2022.05.26 |
---|---|
[Git] Fetch,Merge (Intellij) (0) | 2022.05.21 |
[Git] Push,Merge (Intellij) (0) | 2022.05.21 |
[GIT] 서브모듈 (0) | 2021.11.17 |
Comments