🎋 Branch는 왜 필요할까?

Untitled

왼쪽에 보이는 사진은 제가 요번에 프로젝트를 하게 되면서 팀원들과 개발을 하고 있는 Packages 와 Files 입니다. 여기서, 제가 들었던 문제는 폴더 정리가 너무 안되고 있다… 라는 것이었습니다.

여러명의 개발자가 하나의 브랜치에 개발하는 것을 상상해보겠습니다.

Untitled

위처럼 개발 브랜치를 따로 빼서 개발을 하는 것은 마지막에 합치는 시점에서 Merge 하면 되기 때문에 큰 충돌을 야기하지 않을 가능성이 높습니다. 이렇게 따로 브랜치를 분리하여 개발하지 않는 경우에는 merge 하는 과정에서 충돌이 발생하여 업데이트한 부분에 대해서 **Rollback**이 되는 불상사가 발생할 수 있습니다. 이러한 이유에서 우리들은 브랜치를 만들고, 그것들을 잘 관리하며 개발을 진행해야합니다.

🗺️ Git Branch 전략

위의 말씀드린 브랜치도 특정한 규칙과 약속 없이 불러와서 수정하고 합치는 것은 혼란을 불러올 수 있습니다. 브랜치 관리에 명확한 기준이 없으면 이 브랜치는 어떤 목적으로 생성된거지?, 이 브랜치는 어떤 커밋에서 분기된거지?, 어떤 브랜치에서 내 브랜치를 생성해야하지?, 내 브랜치는 어디에 병합해야지?, 어떤 브랜치가 최신이지?, 어던 브랜치가 배포된

🧑🏻‍💻 Git Flow 전략

🧑🏻‍💻 GitHub Flow 전략(내가 사용해 오던 전략)

📖 SpringBoot Architecture of Directory

개발자들은 코드의 유지보수 , 팀원 간의 협업 및 전체 개발 프로세스 개선을 위해 잘 구조화된 폴더 구조를 사용합니다. 스프링 부트 폴더구조가 중요한 이유는 다음과 같습니다.

  1. 코드의 가독성 향상
  2. 유지보수의 용이성
  3. 효율적인 테스트