github/gitignore · C++.gitignore

C++ .gitignore 템플릿 해설

C++.gitignore가 오브젝트·라이브러리·실행 파일과 CMake 빌드 트리, compile_commands.json, vcpkg 설치 폴더를 무시하는 이유와 Makefile 규칙의 함정을 설명합니다.

생성기에서 열기 C, JetBrains, VisualStudioCode, VisualStudio 함께 열기

C++.gitignore는 C 템플릿과 비슷한 컴파일 산출물 규칙에 더해 CMake 빌드 트리, CTest 결과, vcpkg 매니페스트 모드의 설치 폴더를 포함한다. 템플릿 저장소에서 Fortran 템플릿이 이 파일을 그대로 가리키기 때문에 Fortran 모듈 파일(.mod·.smod) 규칙도 들어 있다.

가장 조심해야 할 줄은 Makefile이다. CMake가 생성하는 Makefile을 막으려는 규칙이지만, 직접 작성한 Makefile로 빌드하는 프로젝트라면 그 파일까지 무시된다.

규칙별 해설

패턴무엇을, 왜 무시하나
*.o*.obj*.slo*.lo*.d*.gch*.pch오브젝트·헤더 캐시번역 단위별 컴파일 결과와 의존성 파일, 미리 컴파일된 헤더다. 모두 소스에서 다시 만든다.
*.so*.dylib*.dll*.so.**.a*.lib*.lai*.la*.exe*.out*.app라이브러리·실행 파일링크 결과물이다. 플랫폼마다 다르게 만들어지므로 저장소가 아니라 릴리스로 배포한다.
build/Build/build-*/CMakeFiles/CMakeCache.txtcmake_install.cmakeinstall_manifest.txtCMake 빌드 트리CMake가 구성 단계에서 만드는 캐시와 생성 파일이다. CMakeCache.txt에는 내 컴퓨터의 컴파일러 경로가 저장되어 다른 사람에게는 쓸모가 없다.
Makefile생성된 MakefileCMake의 Unix Makefiles 생성기가 소스 트리 안에 만든 Makefile을 막는다. 슬래시가 없어 모든 깊이의 Makefile이 무시된다.
compile_commands.jsonvcpkg_installed/Testing/.cache/도구 산출물clangd 등이 읽는 컴파일 데이터베이스, vcpkg가 설치한 패키지, CTest 결과, clangd 인덱스 캐시다. 모두 로컬 환경에 따라 달라진다.
*.pdb*.ilk*.dwo*.tmp*.log*.bak*.swp디버그 정보·임시 파일디버그 심볼, 증분 링크 파일, 에디터 임시·백업 파일이다.
*.mod*.smodFortran 모듈Fortran 컴파일러가 만드는 모듈 인터페이스 파일이다. 순수 C++ 프로젝트에는 영향이 없다.

실무에서 주의할 점

원본 템플릿

C++.gitignore규칙 39줄
# Prerequisites*.d# Compiled Object files*.slo*.lo*.o*.obj# Precompiled Headers*.gch*.pch# Linker files*.ilk# Debugger Files*.pdb# Compiled Dynamic libraries*.so*.dylib*.dll*.so.*# Fortran module files*.mod*.smod# Compiled Static libraries*.lai*.la*.a*.lib# Executables*.exe*.out*.app# Build directoriesbuild/Build/build-*/# CMake generated filesCMakeFiles/CMakeCache.txtcmake_install.cmakeMakefileinstall_manifest.txtcompile_commands.json# Temporary files*.tmp*.log*.bak*.swp# vcpkgvcpkg_installed/# debug information files*.dwo# test output & cacheTesting/.cache/

템플릿 출처: github/gitignore/C++.gitignore @356fd7b (2026-09-11) · CC0-1.0

함께 쓰는 템플릿

다른 템플릿 해설