본문 바로가기

Android/Utility

[Git] .gitIgnore 재 적용하기.

728x90

필자는 샘플 코드를 작성하면서, 여러 번 github에서 repository를 생성했었다.

하지만 최근 새로운 Repo를 생성하면서 .gitIgnore를 적용하려고 하니, 분명히 파일을 넣었는데 정상적으로 ignore처리가 안되고 있었다.

 

Repository를 생성하고 한번 해당 파일을 설정하고 난 후 별 다른 이슈가 없다면 건들지 않는 성격의 파일이기 때문에,

다시 설정하려고 하면 매번 방법을 까먹어서 찾아보고 작업을 수행하게 되었다.

 

이 과정이 생각보다 귀찮기도 하고 매번 명령어를 찾아보기도 귀찮아서 간략하게 정리해두려고 한다.

 

필자는 Mac으로 작업했기 때문에 Mac기준의 작업 과정만 기입하도록 하겠다. 


우선,

.gitignore 파일부터 생성해 보도록 하자.

 

. gitignore 파일을 생성하여 적용하기 위해서는 필요한 Repository의 root 디렉토리에서 작업을 수행해야 한다.

때문에, 터미널 환경에서 자신이 작업할 Repository를 찾아서 가도록 한다.

 

ls 명령어를 통해 현재 위치에 존재하는 파일을 확인하고,

cd .. 를 통해 상위로 올라가거나 cd fileName을 통해 해당 파일로 들어갈 수 있다.

 

필자가 샘플로 사용할 Repository는 ComposeSample Repo이다.

해당 위치가 정말 최상위 디렉토리인지 확인하기 위해서는 다음과 같은 명령어를 사용하면 된다.

git rev-parse --show-toplevel

 

일부러 domain 파일에 들어간 상태로 명령어를 호출해 보았다.

 

이와 같이 root가 어디인지 바로 알려주니까 해당 위치로만 이동하면 된다.

 

이렇게 들어간 후, .gitignore 파일을 생성한다.

 

touch 명령어를 사용하면 파일을 생성할 수 있고, 파일 이름이 .gitignore이기 때문에 정확히 입력해 주도록 하였다.

 

그 후, 해당 위치로 간 다음 .gitignore 파일을 열어서 무시할 파일에 대한 내용을 작성해 주면 되는데,

기본적으로 . 으로 시작하는 파일은 숨김처리 된 파일이기 때문에 해당 파일이 보이지 않는다면 Command + Shift + . 을 누르면 숨김 파일 보기가 활성화된다.

 

이전 프로젝트에서 만들어둔 것이 있다면, 해당 위치로 복사 붙여 넣기만 해도 상관없으며, gitIgnore파일을 작성하는 방법은 구글링을 해보면 쉽게 찾을 수 있으므로 패스하도록 하겠다.

 

필자는 이와 같은 파일들이 나오고 있어서 이를 무시하도록

 

이런 식으로 추가해 보았다.

 

단순히 해당 파일을 작성하고 저장하면 자동으로 ignore 처리가 되는 것은 아니다.

이미 적용되어 있는 ignore 파일이 있다고 해도 마찬가지이다. 정상적으로 적용이 안되기 때문에 다음과 같은 플로우를 통해 git에 있는 캐시를 삭제하고 재 적용을 수행하면 된다.

# 모든 Git 캐시 삭제 (최상위 디렉토리에서 실행)
git rm -r --cached .

# 변경 사항 스테이징
git add .

# 커밋 생성
git commit -m "Commit Message"

 

여기서

--cached . 

add .

에 있는 " . " 이 부분은 오타가 아니라 반드시 넣어주어야 한다.

 

rm -r --cached . 를 수행하면 뭔가 많은 리스트가 뜨게 되고,

git add . 후 git commit -m "~"를 작성하면 또 뭔가 많은 리스트가 뜨게 된다.

 

캐싱되어있던 파일을 모두 지우고, 새롭게 .gitignore 파일이 적용되는 과정이라고 생각하면 된다.

 

이렇게 작업을 끝내고 다시 형상관리 툴을 확인해 보자.

필자는 소스트리를 사용하고 있다.

 

기존에 ignore가 되지 않았던 파일들이 사라지고, main 브랜치에서 1개의 push 할 코드가 생성되게 된다.

 

이것을 push 하게 되면 새롭게 변경된 .gitignore 파일이 적용되게 된다.


이것으로 간단하게 .gitignore 파일의 캐시를 제거하고, 적용하는 방법에 대해 작성하였다.

필자는 해당 과정을 매번 할 때마다 까먹기 때문에, 찾아서 확인하고 보면서 적용하기만 수차례 경험했다.

 

그런데 최근에 또 새로운 Repository를 생성하고 작업을 하다 보니 ignore 파일을 수정해야 하는 경우가 생겼고, 

당연하다시피 까먹어서 찾아보고 적용하는데 시간을 사용했다.

 

당연히 많이 수행하지 않는 작업이기 때문에, 앞으로 다시 ignore에 대한 캐시를 날리고 적용해야 할 때 과정을 까먹을 것이라고 생각한다.

필자와 같이 매번 까먹는 개발자가 있다면 부디, 어디 한편에 작성해 두고 검색하지 말고 더 빠르게 찾아서 보길 바란다.

728x90