왼쪽에 보이는 사진은 제가 요번에 프로젝트를 하게 되면서 팀원들과 개발을 하고 있는 Packages 와 Files 입니다. 여기서, 제가 들었던 문제는 폴더 정리가 너무 안되고 있다… 라는 것이었습니다.
여러명의 개발자가 하나의 브랜치에 개발하는 것을 상상해보겠습니다.
위처럼 개발 브랜치를 따로 빼서 개발을 하는 것은 마지막에 합치는 시점에서 Merge
하면 되기 때문에 큰 충돌을 야기하지 않을 가능성이 높습니다. 이렇게 따로 브랜치를 분리하여 개발하지 않는 경우에는 merge
하는 과정에서 충돌이 발생하여 업데이트한 부분에 대해서 **Rollback
**이 되는 불상사가 발생할 수 있습니다. 이러한 이유에서 우리들은 브랜치를 만들고, 그것들을 잘 관리하며 개발을 진행해야합니다.
위의 말씀드린 브랜치도 특정한 규칙과 약속 없이 불러와서 수정하고 합치는 것은 혼란을 불러올 수 있습니다. 브랜치 관리에 명확한 기준이 없으면 이 브랜치는 어떤 목적으로 생성된거지?, 이 브랜치는 어떤 커밋에서 분기된거지?, 어떤 브랜치에서 내 브랜치를 생성해야하지?, 내 브랜치는 어디에 병합해야지?, 어떤 브랜치가 최신이지?, 어던 브랜치가 배포된
개발자들은 코드의 유지보수 , 팀원 간의 협업 및 전체 개발 프로세스 개선을 위해 잘 구조화된 폴더 구조를 사용합니다. 스프링 부트 폴더구조가 중요한 이유는 다음과 같습니다.