#git 버전 컨트롤 안하는 것들을 어디에 둬야할까?

less than 1 minute read

dotfiles를 버전 컨트롤 한다. 리파지토리는 github 서비스를 사용. 덕분에 회사와 집에서 같은 세팅을 쉽게 적용하고 있다.

버전 컨트롤이 필요없는 파일이 생겼다. 회사에서만 쓰는 프로젝트에 종속성이 걸린 개인 스크립트 같은 것들. 이런 파일 때문에 디렉토리를 만들어야 하고. PATH 환경 변수도 수정해야 한다. 이런 로컬 파일은 얼마든지 생길 수 있다. 이런 것도 고려하는 사려깊은 dotfiles 구성을 만들자.

타겟은 dotfiles/bin 디렉토리. 실행 가능한 것들을 모아둔다.

dotfiles/bin.local 디렉토리를 추가했다. 버전 컨트롤 안하는 실행 파일을 모아둔다. git은 빈 디렉토리 커밋이 안 되니깐 컨벤션을 따라 .gitkeep 파일을 안에 만든다.

/bin.local/*
!/bin.local/.gitkeep

.gitignore에 .gitkeep 파일 빼고 나머지는 무시하는 세팅을 한다.

*nix

export PATH=$PATH:$HOME/bin.local:$HOME/bin

.bash_profile 수정

windows

echo ;%path%; | find /c /i ";%hpath%\bin.local;" > NUL || setx /m PATH "%PATH%;%hpath%\bin.local;%hpath%\bin"

path 중복을 피하려고. user level path만 건들고 싶은데, 쉽지 않다. %path% 같은 환경 변수로 접근이 불가능. batch script로 조작하려면 registry 명령을 사용해야 한다. 걍 system level로 설정하자. 여러 유저가 쓰는 windows 머신에서 dotfiles를 설치할 일이 생기면 진행하면 된다. 이런 날이 올런지 몰라.