Git 특정 환경의 파일만 커밋없이 제외하기
Description: 또 다른 로컬환경에세 커밋과 원격 레포에 영향을 주지않고 파일을 제외하고자 했던 경험입니다. 커밋 한번, 또는 gitignore등의 방법들도 있지만 엄격하게 바로 제외만 하고싶었던 파일을 git의 exclude 파일을 이용해 제외해 봅니다.
현재 노트: KR-020.00 a
상위 분류: KR-020.00 Git
.git/info/exclude
에 파일에 .gitignore
방식으로 각 로컬 환경마다 파일 제외가 가능
replit
이라는 플랫폼에서 서버를 띄우다보니 원격의 레포를 다운받아서 사용할 때 플랫폼 파일인 replit
관련 파일이 생겼습니다. 이를 .gitinore
에 추가하지 않고 엄밀하게는 커밋없이 관리를 하고 싶었습니다. 해당 환경은 오직 pull만 해서 운영하는 느낌이기 떄문에
처음 시도 업데이트 무시 명령어
처음 검색 결과는 git update-index --assume-unchanged [파일명]
을 통해 가능하다고 하여서 시도하였습니다,
하지만 이건 이미 커밋한 파일을 이후부터 추적하지 않는다는 명령이었습니다.
->그래서 최소 1번의 커밋이 발생하게 되는데, 저는 이 조차도 허용하고 싶지 않은 상황이었습니다.
해결책 exclude 파일 수정
이 때 .git/info/exclude
을 통해 로컬에서만 제거가능
기본 설명
~/.../.git/info$ cat exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.gitignore
에서 작성방식으로 가능. 그러면서도 gitignore
에 영향을 주지않고 로컬만 변화를 주기에 원하는 목적을 수행가능했습니다.