• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

왜 Q파일은 GIT에서 관리하면 안 되는지 이해가 안돼요...

23.05.17 11:01 작성 조회수 616

0

강의 약 7분부터 Q 파일은 반드시 gitignore하면 안된다고 하시면서, 뒤에서 뭐라뭐라 설명을 하시는데,

무슨 말인지 전혀 이해가 되질 않습니다.

-> querydsl 라이브러리가 업데이트되어서 세부 사항이 바뀌면 도대체 어떤 문제가 일어나기에 git에서 관리하지 말라는 건가요??

답변 1

답변을 작성해보세요.

2

안녕하세요. 진영님

querydsl의 Q파일은 개발자가 개발하는 파일이 아니라 Querydsl 라이브러리가 자동으로 생성해주는 파일입니다. 그래서 컴파일 할 때 마다 새로 생성해주어야 합니다.

그래서 컴파일 할 때 마다 새로 생성이 됩니다. 문제는 여러 개발자가 동시에 개발하는데 이렇게 자동 생성되는 파일을 git에 관리하게 되면 충돌이 발생할 수 있습니다. 여러 개발자가 같은 파일을 계속 만들게 되니까요.

그리고 엔티티에 필드를 추가했는데, 누군가는 새로운 Q파일을 올리고 누군가는 Q파일을 생성하지 않아서 서로 다른 Q파일이 올라갈 수도 있습니다.

결국 Q파일은 엔티티를 기반으로 항상 최신화 되어 있어야 합니다.

어차피 컴파일 시점에 Q파일이 만들어지기 때문에 개발자는 엔티티만 잘 관리하면 되고, 엔티티만 git에 버전관리를 하면 됩니다. Q파일은 컴파일만 하면 엔티티로부터 자동으로 만들어지니까요.

따라서 Q파일은 git에 버전 관리를 하지 않는 것이 좋습니다.

우리가 gradle로 자바를 빌드를 하는데요.

gradle은 빌드를 하면 build라는 폴더 하위에 모든 결과를 생성합니다. 여기에 Q파일도 들어가게됩니다.

그런데 보통 gitignore파일에는 build 폴더가 이미 들어가있기 때문에 개발자가 크게 고민하지 않아도 됩니다.

도움이 되셨길 바래요.