Github 를 이용한 협업

김창모·2023년 7월 1일
0

Project

목록 보기
5/13

Intro

프로젝트 시작전에 AWS 를 사용해서 다른 프로젝트를 배포해보고 RDS로 DB를 구성
Travis 와 S3 Deploy를 사용하여 CI/CD 까지 완성해놓았다.
이에대한 내용은 차차 게시글로 작성할 예정이며
현재는 팀원들과의 협업 방식에 대해 얘기하다가 관련하여 정리하려고 한다.

How?

우선 우리는 프론트와 백 레포를 분리하기로 하였다.
따라서 백엔드 레포에서는 각각 자신의 브랜치를 생성하여 작업을 하고
이에 PR을 날려 merge 하는 방식으로 진행하면 될것이다.
또 우리는 PR 후에 코드리뷰를 통해 자기 외의 2명의 리뷰어에게 Approve 를 받아야
merge 할수 있도록 하려고 한다.

Git Repository 생성

먼저 내가 속한 Organization 에서 백엔드 Repository 를 생성하였다.
organization : Forever-Pet
Repository : foreverpet-backend

Collaborators and teams

생성한 Repository Setings 중
Collaborators and teams 에 들어가보면 Manage access 가 있다.
여기에 write 권한을 가진 두 백엔드 팀원을 추가해주었다.

Branch 생성

브랜치 확인 : git branch
브랜치 생성 : git branch {branchName}
브랜치 변경 : git checkout {branchName}

IntelliJ connect Problem

intelliJ 에서 몇몇 의존성을 추가하고 main 브랜치에 push 할때는 잘 동작하였는데
이상하게 새로 생성한 cmong0516 브랜치로 push 할때는 계속 깃에 연결하라고 했었다.
연결방식에는 git 로그인을 사용하는 방법과 토큰을 사용하는 방법이 있었다.
로그인 방식으로 아무리 시도해도 연결되지 않아 토큰을 사용하기로 하였다.

  1. 프로필 선택
  2. Settings
  3. Developer settings
  4. Personal access tokens
  5. Tokens(classic)
  6. Generate new token
  7. Generate new toeken(classic)
  8. repo 카테고리를 모두 선택해 repo 관련 권한을 준다.
  9. 토큰값을 복사해서 intellij 에서 token 인증을 한다.

Pull Request

cmong0516 브랜치 에서 작업한 내용을 push 하고
main branch 에 merge 하기 위해서 pull request 를 보냈다.
그리고 Reviewers 에 백엔드 팀원 두분을 추가해주었다.

Branch protection rule

우리는 코드리뷰 후에 merge 가 가능하게 branch 에 설정을 해두어야한다.
1. repository settings
2. Branches
3. Add branch proection rule
4. Require a pull request before merging 체크
5. Approve 인원 설정후 create

Pull Request Menu

Pull Requests 를 보면

  • Conversation ( commit 로그와 comments 를 달수있다 )
  • Commits ( commit 내역들이 상세히 보여진다 )
  • Checks ( 아무것도 없고 아직 사용해본적 없다 )
  • Files changed ( file 변경 내역들과 코드를 볼수 있다 )
    네가지 메뉴가 있다.

Pull Request Review

Files changed 탭으로 이동하여 Review changes 를 클릭하면
리뷰를 작성할수 있고

  • Comment ( comment 를 남긴다 )
  • Approve ( merge를 승인한다 )
  • Request changes ( approve 를 거부하고 변경을 요청한다 )
    ( approve 수를 만족했어도 Request changes 를 만족하지 못하면 merge 불가능 )
    세가지 메뉴가 나온다.

Merge

Approve 수를 만족하고 해결하지 못한 Request changes 가 없을경우
merge 할수있다.

정리

  • 레포지토리 생성
  • 팀원 추가
  • branch 생성
  • branch 에서 작업 후 main 으로 pr
  • 레포지토리 Settings 에서 Branch protection rule 설정 ( Ex_ Approve 2)
  • 설정한 두명의 Approve 를 받으니 Pr 을 merge 할수 있게 되었다!

0개의 댓글