Github flow 사용법 & 시나리오
1. 이슈를 등록한다.
2. 이슈할당을 한다.
3. feature-{이슈번호} 브랜치를 만든다.
4. feature 파일을 추가하고 커밋을 한다.
5. feature 브랜치를 원격 저장소에 Push한다.
6. GitHub에서 푸시 된 feature-{이슈번호} 브랜치를 Pull Request한다.
7. GitHub에서 코드리뷰를 한다.
8. GitHub에서 Merge한다.
9. 로컬 저장소에서 원격 저장소에 머지된 내용을 Pull한다.
10. 완료! 🎉
1. ISSUE 등록
- 좌측 상단 탭에 “Issues” 를 눌러 Issues 를 등록 합니다.
- Issue 의 제목과 내용 그리고 우측에 “Assignees” , “Label” 을 설정 해줍니다.
2. ISSUE 할당
- ISSUE 에 대해 수락하고싶은 사람은 comment 를 남겨 알립니다.
3. feature-{이슈번호} 브랜치를 만들고 작업을 한후에 add & commit
git branch -c 브랜치명
을 해서 브랜치를 하나 만든다.
git switch 브랜치명
을 해서 현재브랜치를 새로운브랜치로 변경해준다.
- add & commit 후에
git push origin 브랜치명
을 한다.
6. GitHub에서 푸시 된 feature-{이슈번호} 브랜치를 Pull Request한다.
- PUSH 를 한후 , 리포지터리로 돌아가면 이렇게 compare & pull request 가 날라온다.
- 들어가보면 이런창이 뜨게되는데 여기서 제목,내용을 쓰고 create pull request 를 보내면된다.
- create pull request 를 보내면 pull request 에 1 이라고 뜬다
- 들어가보면 이런 창이 뜬다. 여기서 Files changed 에서 뭐가 변경되었는지도 확인이 가능하고
문제가 없다면 master 에 병합(merge) 를 할수있는 창이다.
- 문제가 없다면 Merge pull request 를 누른뒤에 코드를 보면 잘 push 가 되어있다.
<그 외 시나리오>
-
한 브랜치에 커밋 2개가 누적된 상황에서 master로 merge 가능한지
-
포크한 리포에 push 후, upstream repository로 pr 요청 가능한지
A repo
: 포크한 repo
B repo
: 포크된 repo (upstream repo)
- 가능 (A master -> B master)
- 방법 : A repo의 master에 push 후, A 커밋을 B repo로 pr을 보내 merge한다.
-
develop에 커밋이 2개가 누적된 상황에서, 1개는 승인, 1개는 반환 가능한지
- 별도로는 불가능하다.
- merge나 코드 수정 및 삭제를 통해 여러 커밋이 묶인 한 덩어리로만 승인 또는 거절된다.
-
만약 moduleE를 만들다가 moduleF를 급하게 만들어야 할 시
- 방법
- 모듈E 브랜치에서 모듈E 작업중, 급한 모듈F 작업요청이 들어오면 일단 작업중이던 모듈 E 작업 commit
- 모듈F 브랜치를 생성해, 급한 모듈F 작업을 완료 후 feature로 merge
- 후에 모듈E 작업완료 후 feature로 merge