# Git 커밋 규칙 — ILSOS 프로젝트 ## 1. 빌드 산출물(bin) 무시 규칙 `.gitignore`는 전역적으로 빌드 산출물을 커밋에서 제외한다. ``` obj/ bin/ ``` - `bin/` 은 폴더명이 `bin` 인 모든 디렉터리를 무시한다. - 그 외 프로젝트별 산출물 경로(`_out_*`, `_intermediate/` 등)도 무시 대상이다. --- ## 2. 예외: External/Aurora/bin 은 전체 커밋 `External/Aurora/bin` 는 외부 Aurora 런타임 산출물로, **전체를 git에 커밋**한다. 전역 `bin/` 무시 규칙은 그대로 두고, negation(`!`)으로 해당 폴더만 다시 포함한다. ### `.gitignore` 설정 ``` bin/ # 예외: External/Aurora 폴더의 bin은 전체 커밋 !/External/Aurora/bin/ !/External/Aurora/bin/** ``` - `!/External/Aurora/bin/` — 무시된 `bin` 디렉터리 자체를 다시 포함한다. - `!/External/Aurora/bin/**` — 그 하위의 모든 파일/폴더를 다시 포함한다. - 두 줄 모두 필요하다. 디렉터리만 negation 하면 git이 하위로 내려가지 않아 파일이 포함되지 않는다. ### 검증 방법 ```bash # bin 폴더가 더 이상 무시되지 않는지 확인 (negation 규칙 라인이 출력되어야 함) git check-ignore -v External/Aurora/bin/ # 스테이징 git add External/Aurora/bin ``` --- ## 3. `.gitignore` 자체 커밋 `.gitignore` 는 다음 라인으로 **자기 자신을 무시**한다. ``` /.gitignore ``` 따라서 `.gitignore` 변경분을 커밋하려면 `-f` 로 강제 추가해야 한다. ```bash git add -f .gitignore ``` --- ## 4. 빠른 참조 | 대상 | 처리 | |------|------| | 일반 `bin/` 산출물 | 무시 (커밋 안 함) | | `External/Aurora/bin` | 전체 커밋 (negation 예외) | | `.gitignore` 수정 | `git add -f .gitignore` |