이미 github 레포지토리에 push해버린 파일들은 추후에 .gitignore에 추가하더라도 이는 적용이 되지 않는다.
왜냐하면 git은 한번 commit한 파일들은 이미 추적 하고있고, "이미 트랙킹중인 파일"은 무시되지 않기 때문이다.
예를 들어, pool.js 파일을 초기에 .gitignore에 설정해놓지 않고 그냥 깃헙에 올린 경우,
나중에 .gitignore에 pool.js/를 추가하더라도 이미 git은 pool.js 파일을 tracking 하고있기 때문에 무시되지 않을것이다.
따라서 해당 파일을 추후에 git ignore에 추가하고 싶다면, 현재 스테이징영역을 비워줘서 추적중인 파일에서
pool.js를 지워줘야 한다.
🧡 git 명령어 🧡
rm <fileName>
git을 사용하지 않는 rm은 작업 디렉토리에서 파일을 삭제하는 명령어이다. (내 실제파일 삭제)
git rm <fileName>
git을 사용한 rm은 작업 디렉토리와 스테이징 영역에서 파일을 삭제 시킨다. (내 실제파일 & 기트에 올라간 파일 삭제)
git rm --cached <fileName>
--cached를 뒤에 붙이면, 스테이징 영역에서만 파일이 삭제된다. 하지만 작업 디렉토리나 저장소에서는 삭제되지 않는다. (즉 git에서만 지워지고 실제 파일에는 그대로 남겨줌.)
git add <fileName>
해당 파일에 대해 스테이징한다. (= 해당 파일을 git이 추적가능하게 하기 )
git add .
현재 디렉토리에서 수정/생성/삭제된 파일에 대해 스테이징한다. (= 현재 디렉토리에 있는 모든 파일 추적하게함)
git commit -m "<message>"
커밋 메세지와 함께 커밋한다.
위 명령어들을 활용해 다음과 같은 과정으로 git ignore에 pool.js를 적용시켜봤다.
💙 적용하기 💙
//git ignore 파일에 pool.js 파일 추가 (경로 포함)
git ignore
/back/pool.js
//명령어 실행
$ git rm --cached .
// git 레포지토리에서 파일 비우기
$ git add .
// git ignore에 pool.js 파일이 추가된 상태로 다시 git에 스테이징 하는 과정.
// 이때는 깃이 pool.js 파일을 추적하지 않음
$ git commit -m " fixed untracked files "
// 커밋하기
이런 식으로 파일트리에서 파일색이 비활성화 된것처럼 회색이 된거면 성공성공