Github flow 사용법 & 시나리오

성진·2022년 8월 5일
1

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 브랜치명 을 해서 현재브랜치를 새로운브랜치로 변경해준다.

  • 새로운 branch 에서 작업을 한다.

  • 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 가 되어있다.


<그 외 시나리오>

  1. 한 브랜치에 커밋 2개가 누적된 상황에서 master로 merge 가능한지

    • 가능하며 pr 보낼 때, 자체수정
  2. 포크한 리포에 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한다.
  3. develop에 커밋이 2개가 누적된 상황에서, 1개는 승인, 1개는 반환 가능한지

    • 별도로는 불가능하다.
      • merge나 코드 수정 및 삭제를 통해 여러 커밋이 묶인 한 덩어리로만 승인 또는 거절된다.
  4. 만약 moduleE를 만들다가 moduleF를 급하게 만들어야 할 시

    • 방법
      • 모듈E 브랜치에서 모듈E 작업중, 급한 모듈F 작업요청이 들어오면 일단 작업중이던 모듈 E 작업 commit
      • 모듈F 브랜치를 생성해, 급한 모듈F 작업을 완료 후 feature로 merge
      • 후에 모듈E 작업완료 후 feature로 merge

0개의 댓글