Git workflows

Ours

Branch Name

Branch Rules

feature 브랜치 생성 기준은 큰 기능 단위로 → 로그인 / 채팅 / …

생성된 feature 브랜치에서 세부 기능 단위로 새롭게 브랜치 체크아웃 후 해당 브랜치에서 세부 기능 구현

세부 기능 구현 완료 후 개인 로컬 환경에서 테스트 후 feature 브랜치에 PR 머지

세부 기능이 모두 구현 완료되어 큰 기능 구현이 완료된 경우 feature 브랜치에 머지된 커밋들 정리

스쿼시 되기 전 4개의 세부 기능 PR이 머지된 feature 브랜치의 상태는 아래 첫번째 예시와 같음(PR 머지 커밋은 생략)

쌓여있는 4개의 커밋을 하나로 스쿼시하면서 커밋 내용을 두번째 예시와 같이 변경하고 staging 브랜치로 PR 요청 → staging 브랜치에는 큰 기능에 관한 하나의 커밋만 쌓이면서 해당 커밋에 대한 변경 사항을 해당 커밋에서 바로 확인 가능

Before squash on feature branch

commit 066dcb7012c90eb6be7f895395bbb560a536884b (HEAD -> feature/xxxx, origin/feature/xxxxx)
Author: HyungJoo Jang <[email protected]>
Date:   Mon Dec 12 17:19:03 2022 +0900

     #4 Implement of anything 3

commit 92bcda43d29727873caec8cdec76a29cf5f19076
Merge: 472005d 19c2ec9
Author: HyungJoo Jang <[email protected]>
Date:   Mon Dec 12 09:37:29 2022 +0900

    #3 Implement of anything 2

commit 19c2ec9117c45f90ab7598ad8e32d803411c2f87
Author: HyungJoo Jang <[email protected]>
Date:   Mon Dec 12 09:33:35 2022 +0900

    #2 Implement of anything 1

commit 472005d2c4d4cd499d6f9a1dcd7c3a367664c59e
Merge: d1f525c e69f0ef
Author: HyungJoo Jang <[email protected]>
Date:   Mon Dec 12 03:01:33 2022 +0900

    #1 Implement of testcase

After squash on feature branch

commit 066dcb7012c90eb6be7f895395bbb560a536884b (HEAD -> feature/xxxx, origin/feature/xxxxx)
Author: HyungJoo Jang <[email protected]>
Date:   Mon Dec 12 17:19:03 2022 +0900

     #[ISSUE NUMBER] title of issue

		 - #1 Implement of testcase
		 - #2 Implement of anything 1
		 - #3 Implement of anything 2
		 - #4 Implement of anything 3

Log