.gitignore
.gitignore
파일은 git으로 관리하지 않을 파일을 지정해줍니다.
-
포함해선 안 될 파일들
- 빌드 결과
*.class
, *.jar
, build/
- 단 라이브러리에 dependency 걸린 것들은 남기거나, 다운 받을 수 있게 해야 합니다.
- 바이너리
- 제너레이트 가능한 파일들(논쟁적인 사안): 하단에서 자세히 다루도록 하겠습니다.
gradle
, gradlew
, gradle.bat
등 -> gradle wrapper
명령어로 생성 가능
- 로컬 설정들
- 로컬 환경에 의존적인 절대경로 등을 공개할 필요가 없고, 보안상 좋지도 않습니다.
- 키/보안 관련 파일들
-
포함하지 않아야 한다
- gradle이 설치된 환경이나, IDE를 사용하는 환경(내장 gradle 보유)에서는 바로 내려받을 수 있다.
- gradle wrapper 관련 파일들이 업데이트될 때마다 무의미한 커밋을 날리게 된다.
-
포함해야 한다
- 빌드 서버 등의 환경에서 gradle 등 빌드 툴이 설치 + 환경변수 설정 되어있지 않은 경우를 대비하기 위해서
- 의존성 회피라는 측면에서
-
참고
- gitignore.io에서 생성한 .gitignore파일에는 ignore가 적용되지 않게 되어 있다.
- 스프링 프로젝트의 경우에도
gradle wrapper
를 포함시킨다.
-
박재성님 유투브
- gradle wrapper 사용하는 이유?
- gradle wrapper 없을 경우 아래의 과정을 거쳐 gradle 설치해야 합니다.
- gradle wrapper
- 설치하지 않더라도 자동으로 다운로드 후 설치 과정을 자동화한다.
- 처음 wrapper 기반으로 프로젝트를 만들면
- 다른 사람들은 gradle 설치 없이 프로젝트를 만들 수 있다는 장점
- springboot 기반으로 만들면 gradle wrapper 기반으로 프로젝트가 생성된다.
- 이 방법을 사용할 경우
gradle
을 귀찮게 설치하지 않아도 됩니다.
gradle
이 설치된 이후에는 프로젝트 설정으로 가서 스프링 부트 관련 사항만 해제하면 된다.
- 개인적인 결론
- 학습용 예제 등의 코드를 백업하는 용도로는
gradle wrapper
를 포함시키지 않는다.
- 운영하고자 하는 프로젝트의 경우 포함시키는 것을 우선하되,
당연히 팀 컨벤션에 따라간다.