◽ Git

[Git] ".gitignore" 적용하기 // 적용 안되는 문제 해결방법


.gitignore

  프로젝트를 먼저 만들고 난 뒤에 중간 쯤에서 ".gitignore" 파일을 추가하여 커밋 할 때 커밋되는 파일들을 자동으로 제외하고자 넣었는데 이상하게 작동을 안했다.

 

이 이슈로 원인을 찾는데 시간이 좀 걸렸는데 해결방법은 아래에 간단히 정리를 하였다.

 


 

1. ".gitignore"

  이 파일은 ".git"이 존재하는 디렉토리에 위치하는 것이 일반적인 위치이나, 하위 폴더에 위치해도 해당 경로 기준으로 인식하기 때문에 위치에 관한 제한은 특별히 없다. 하지만 ".git"이 위치한 최상위에서 관리하는 것이 편리하기 때문에 관행적으로 root 위치에 위치시킨다.

 

 

 2. gitignore 규칙

- # : 주석을 의미

- *.txt : txt라는 확장자를 가진 파일을 무시

- folder/ : 슬래시(/)가 뒤에 있기 때문에 폴더 아래까지 무시

- folder/*.txt : 해당 폴더 아래에 있는 txt라는 확장자만 무시

- /folder : 현재 경로에서 해당 폴더만 무시

- /*.txt : 현재 경로에서 txt 확장자 파일 무시

 

 

3-1. 이렇게 파일을 추가했는데도 안되는 문제가 있을 수 있는데,

  gitignore을 프로젝트 시작 후 생성이 아닌, 나중에 추가를 하게 되면 이런 경우가 생기는데 해결방법은 간단하다.

git프로젝트를 열어 작업을 할 때 indexing이라는 작업을하는데 이미 인덱싱이 된 파일은 계속 추적이 되고 있어서이다. 그래서 "git rm -r --cached ."명령어를 통해서 캐시를 비워 인덱싱을 해제하는 작업이 필요하고 캐시만 비우면 다시 정상적으로  gitignore가 적용 된다.

 

여기서 주의해야할 점은 뒤에 " . "을 빼먹지 않도록 한다.

(참고로 최상위 폴더에서 수행하면 한번에 되니깐 ".git" 위치에서 명령어 수행할 것.)

 

 

 

3-2. 두번째 문제!!!!!!!!!!!

  여태 텍스트 파일인 것처럼 보여서 그냥 폴더에서 txt확장자 폴더 생성하기를 하면................ 안된다! git Terminal에서 "#vi .gitignore"로 생성해야 gitignore확장자로 생성이 된다. 삽질을 하다가 결국 원인을 찾았네..

 


참고 :

- https://nesoy.github.io/articles/2017-01/Git-Ignore

- https://gutmate.github.io/2018/04/18/git-pull-fail/

- https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-gitignore-%EC%9E%90%EB%8F%99-%EC%83%9D%EC%84%B1


 

푸터바