정석인 방식은 아니긴 한데 저희 프로젝트에서 필요한 정도로만 우선 간단하게 가는 게 좋을 것 같아서 이렇게 정리해보았습니다!
- Johoon, Byeongchan, Jinseo - 각자 작업용 브랜치
- Main - 작업 내용 병합해서 올려두는 브랜치, Main 브랜치에 바로 작업 X, 오류 해결 안 된 채 업로드 X
- 기본 원칙은 각자 브랜치에서 각각 작업하고 -> 해당 코드를 전체 작업물(Main branch)에 반영하려면
Merge
-> 현재 Main의 작업물을 각자 브랜치에 받아와 다시 작업입니다. - Main 브랜치는 현재까지의 작업물을 저장합니다. Main에서는 작업을 하지 않으며, Main 브랜치에는 오류 없이 정상 작동하는 코드만 올라가 있어야 합니다.
- 주기적으로 Main 브랜치로부터 Pull을 받아 동기화를 진행해주세요! (특히 Main에 새로운 내용 올라왔을 때) Pull을 받으면 현재 작업 중인 코드가 날아갈 수 있으니 주의
- 본인 브랜치의 내용을 Main에 Merge할 때는 미리 알려주셔야 합니다
- 코드가 충돌하는 것을 방지하기 위해 웬만하면 같은 파일을 같이 건드리지 않는 게 좋으나(만약 충돌나도 해결 방법은 있습니다) 저희는 해당 사항이 없을 것 같네요..!
커밋 메시지는 본인의 작업 또는 수정한 내용이 드러나게 적어주시는 게 좋습니다!
// 실무에서는 보통 인당 브랜치가 아닌, 기능별 브랜치를 만들어 거기서 작업을 하고 (ex. feature/add-login-page
)
-> 해당 기능에 대한 작업이 완료되면 해당 브랜치를 develop
이라는 메인 브랜치에 Merge합니다.
이때 Pull Request를 통해 코드 리뷰를 진행한 뒤 다른 팀원으로부터 Approve를 받으면 Merge가 진행되도록 합니다.
실무에서 사용하는 정석적인 Git 협업 방식이 더 궁금하시면 Git Flow에 대한 글을 읽어보시면 도움이 많이 되실 거에요