❓ 백엔드 브랜치에서 프론트엔드 폴더를 지울 수 있을까요?
- 일단 이 기회에 브랜치를 나누면 좋겠습니다.
- 처음 백엔드에서 프론트엔드 폴더가 pull 된 시점이 공통 조상이라서, 그때까지 돌아가서 커밋을 바꿔야합니다.
❓ 그럼 tracking에서 제거하거나 main에서 frontend 폴더를 제거하는 방식으로는 안될까요?
- 그건 사파의 방법입니다. 정통 방법은 당시의 커밋을 변경해서 frontend 폴더가 추가되었다는 과거를 수정하는 것입니다.
- rebase 하면 할 수 있습니다.
- 근데 이것도 누군가의 local에서 merge 되거나 push 되면 다시 터질 수 있다.
❓ 이런 상황에 학습할 키워드가 있을까요?
⇒ git flow나 github flow를 공부하시거나, 모노레포를 사용하신다면 모노레포 관리 도구를 찾아봐도 좋을 것 같습니다.
❓ 이번 기회에 예상치않게 모노레포의 단점을 많이 배울 수 있던 것 같습니다.
⇒ 모노레포가 대부분의 시간을 merge conflict 하는데 쓴다는 것이 괜히 나온 말이 아닙니다.
❓ 깃헙에서 conflict가 자주 나는 건 문제인가요?
⇒ 네 문제입니다. 그래서 구조를 같이 짜고 최대한 건드리지 않으면서 협업합니다.
❓ 클라이언트와 서버의 저장소를 분리하려고 했던 시도는 긍정적일까요?
⇒ 굳이라고 생각합니다. 서로의 폴더가 섞이지 않는게 무슨 의미가 있는지 모르겠습니다.
- 저희는 저장소를 나누듯이 브랜치를 나누려고 했던건데 의미없는 시도였을까요?
⇒ 지금처럼 저장소가 하나인 경우였다면 차라리 폴더가 하나였어도 상관 없을 것 같습니다. 프론트엔드를 작업하다가 백엔드 코드를 보게되는 경우도 필요하지 않을까요?
⇒ Swagger 등으로 모든 정보를 표현할 수 없어서 볼 일이 생깁니다.
❗ 브랜치 전략이 잘못된 것 같습니다.