내 프로그램은 일반적으로 git 저장소에 백업하고 싶지 않은 거대한 출력 파일 (~ 1GB)을 생성합니다. 따라서 할 수있는 대신
git add .
나는 뭔가를해야합니다
git add *.c *.cc *.f *.F *.C *.h *.cu
조금 번거 롭습니다 …
디렉토리 내용을 .gitignore에 빠른 perl 스크립트를 작성한 다음 .gitinclude (또는 유사한 이름) 파일을 기반으로 파일을 제거 할 수 있다고 확신하지만 약간 해킹처럼 보입니다. 더 좋은 방법이 있습니까?
답변
나는 이것을 직접 시도 할 필요는 없었지만, TFM을 읽었을 때 부정한 패턴이 원하는 것을하는 것처럼 보입니다. 나중에 무시 된 항목으로 .gitignore의 항목을 재정의 할 수 있습니다. 따라서 다음과 같은 작업을 수행 할 수 있습니다.
*.c
!frob_*.c
!custom.c
custom.c 및 “frob_”로 시작하는 것을 제외한 모든 .c 파일을 무시하도록하려면
답변
리포지토리에 .gitignore 파일을 만들고 c 파일 만 추적하고 다른 모든 파일은 무시하고 다음 줄을 추가하십시오 ….
*
!*.c
‘*’는 모든 파일을 무시합니다
그리고! 파일을 무시하는 것을 무효화 할 것입니다 … 여기서 우리는 git에게 c 파일을 무시하지 말 것을 요구하고 있습니다 ….
답변
이를 달성하기위한 최고의 솔루션
.gitignore
저장소에 파일을 만들고 파일 root
만 포함 .c
하려면 .gitignore
파일 에 아래 줄을 추가해야 합니다
*.*
!*.c
.c
디렉토리와 서브 디렉토리의 모든 파일 이 재귀 적으로 포함됩니다.
사용
*
!*.c
모든 버전의 git에서는 작동하지 않습니다.
에 테스트
자식 버전 2.12.2.windows.2
답변
디렉토리 내부의 특정 파일이 아닌 파일을 무시 해야하는 경우 다음과 같이하십시오.
# Ignore everything under "directory"
directory/*
# But don't ignore "another_directory"
!directory/another_directory
# But ignore everything under "another_directory"
directory/another_directory/*
# But don't ignore "file_to_be_staged.txt"
!directory/another_directory/file_to_be_staged.txt
답변
파티에 늦었지만 내 솔루션은 소스 파일 디렉토리와 실행 파일 및 프로그램 출력을위한 다른 디렉토리를 갖는 것입니다.
+ .git
| (...)
+ bin
| my_exe.exe
| my_output.txt
+ src
some_file.c
some_file.h
… src/
내 물건 을 내 저장소 에 추가 하고 bin/
완전히 무시하십시오 .