일반적인 workflow는 main 브랜치에서 작업을 하지 않고,
개별적인 브랜치를 생성하여 작업합니다.
다른 사람의 코드가 미완성일지라도 commit 했다면,
코드를 확인할 수 있습니다.
물론, main 브랜치는 안정적으로 구동중입니다.

기능이 완성되어 안정적으로 동작하면, main 브랜치에 merge합니다.


main 브랜치의 코드는 무결성을 지향합니다.
특정 기능 브랜치에서 기능에 대한 개발을 완료-병합 후 브랜치를 삭제합니다.
새로운 기능을 개발하기 시작하면 새로운 기능에 대한 브랜치를 생성하여 작업합니다.
main 브랜치에 Merge할 때 PR을 활용하여 TEST, 코드 리뷰, 논의 과정을 거칩니다.

프로젝트 구성원들이 독자적인 판단에 의해 main branch로 merge한다면,
개인의 실수가 main branch에 반영될 수 있습니다.
따라서 변경사항 적용을 요청하고 승인하는 절차가 필요합니다.
pull requests를 활용하여 논의, 코드 리뷰 단계를 가미하여,
코드를 질과 main branch의 무결성을 향상시킵니다.
cmd에서 --no-ff 옵션을 사용하여 빨리감기 병합을 방지할 수 있습니다.
728x90
'SCM > Git' 카테고리의 다른 글
[Git & GitHub 13] Workflow - fork (0) | 2024.05.19 |
---|---|
[Git & GitHub 13] Workflow - 브랜치 보호규칙(branch protection rules) (0) | 2024.05.19 |
[Git & GitHub 11] Workflow 필요성 - 단일(main, master)브랜치만 사용 시 (0) | 2024.05.18 |
[Git & GitHub 10] git fetch, git pull(git fetch + git merge) (0) | 2024.05.17 |
[Git & GitHub 9] git push, origin, switch (0) | 2024.05.16 |