본문 바로가기

기타 깨달은거 정리

[git] .gitignore 테크닉

vscode에서 cpp로 백준을 풀고 있는데

자꾸 tasks.json을 정의해 둔 .vscode가 변경에 떠서 화가 잔뜩 났다.

 

 

 

 

 

 

이를 해결하기 위해 gitignore에 대해 알아봤다.

 

data.txt (파일 제외)
data/ (디렉토리 제외)
kk/data.txt (kk 아래위치의 data.txt 파일 제외)
* (모든 요소 제외)
!*.cpp (cpp확장자 파일을 제외에서 제외 = 보존)

 

 

 

 

.cpp 파일을 제외한 모든 요소를 제외했다.

 

*
!*.cpp

 

행복해진 변경사항

 

 

하지만 더 화나는 일이 있었다.

 

segtree 템플릿을 작성하기 위해 template 폴더 내에 만든

Segtree.cpp는 ignore되어있었기 때문이다.

 

더 화나는 상황

 

 

그래서 이에 대해 찾아보니 해결법은 다음과 같았다.

 

data/ (디렉토리를 제외한 경우 !을 이용해 예외를 만들 수 없음)
data/** (디렉토리의 모든 요소를 선택해 제외한 경우 !을 이용해 예외를 만들 수 있음)

 

 

 

디렉토리를 제외하는 것이 아닌 디렉토리의 모든 요소를 제외하는 것으로

.cpp파일에 대한 예외처리를 해줄 수 있었다.

 

 

template/**
!*.cpp

 

 

 

행복

 

 

이제 행복하게 커밋을 할 수 있게 되었다.

오늘의 일기 끝