/ GIT

빈 디렉토리를 git에 추가하는 방법

obj 혹은 lib 디렉토리 처럼 빌드에 필요한 경우 사용하지만 버전 관리에는 넣고 싶지 않은 경우가 있습니다.

이럴땐 make clean 과 같이 불필요한 파일을 제거 한 뒤 git addgit commit 을 하게됩니다.

하지만 디렉토리가 비어있는 경우 git add 명령으로 추가되지 않습니다. 추가되지 않은 디렉토리를 다음과 같이 다른 개발환경에서 빌드하고자 할 때 No such file or directory 오류가 발생합니다.

➜  small compiler git:(master) ✗ make
make sc
make[1]: Entering directory `/home/kiros33/Projects/ADDB/poc-yacc/small compiler'
bison -d src/grammar.y --output=src/grammar.tab.c
flex -o src/lex.yy.c src/lex.l
g++ -c -std=gnu++11 -Iinc -o obj/grammar.tab.o src/grammar.tab.c
Assembler messages:
Fatal error: can't create obj/grammar.tab.o: No such file or directory
make[1]: *** [obj/grammar.tab.o] Error 1
make[1]: Leaving directory `/home/kiros33/Projects/ADDB/poc-yacc/small compiler'
make: *** [all] Error 2

일일이 mkdir 해줄 수 없는 일이고 굳이 불필요한 파일을 추가할 수도 없습니다. 이럴 땐 비어있는 디렉토리 전체를 찾아서 .gitignore 파일을 추가해주면 해결됩니다.

find . -name .git -prune -o -type d -empty -exec touch {}/.gitignore \;