깃을 통한 프로젝트 관리 - 위클리미션 과제 제출방식을 이해하자

소연·2023년 10월 31일
1

개요

위클리미션의 깃 제출 방식에 대해 이해한만큼 작성해보는 글

코드잇의 위클리미션은 ‘Linkbrary’라는 url모음 사이트를 만들어가는 하나의 프로젝트를 매 주차에서 배운 내용을 사용하여 발전시켜나가도록 하는 형식이다. 그러니까 매주 제출하는 위클리미션이 이전 주차의 미션과 동떨어진 것이 아니라, 실제 프로젝트를 하는 것 처럼 살을 붙여가는 과정인 것이다. 처음 주차에 랜딩페이지를 만들었으면 이후 주차에는 로그인, 회원가입 페이지를 만들어 이전 주차의 과제와 연결하는 방식으로 진행된다.

첫 제출

첫 과제를 했을 때의 과정을 간략히 나열하자면,

  1. Fork: 코드잇레포 → 내 리모트레포

    이 과정을 거치면 코드잇 레포에 제작되어있는 다른 학생들의 브랜치들도 같이 딸려온다.

  2. clone: 내 리모트 레포 → 로컬 레포

    fork할 때 코드잇 레포의 모든 브랜치를 가져왔으므로 clone시 내 이름에 해당하는 part1-내이름 브랜치만 가져오도록하는 —single-branch 옵션을 사용한다.

    $ git clone -b part1-내이름 --single-branch {내 리모트 레포 url}
  3. push: 내 로컬 레포 → 내 리모트 레포

    위클리미션을 모두 마쳤다. 과제를 수행하며 했던 part1-내이름-week2브랜치의 커밋들을 리모트 레포로 푸시할 차례이다. 첫 푸시이므로 upstream 옵션도 사용했다.

    $ git push -u origin part1-내이름-week2
  4. PR 요청: 내 리모트 레포 → 코드잇 리모트 레포

    내 리모트 레포에 push된 part1-내이름-week2브랜치를 코드잇 리모트 레포의 part1-내이름브랜치로 머지할것을 요청하는 PR을 작성한다. 이 PR엔 구현해야했던 기능을 얼마나 수행했는지, 완성된 페이지의 모습은 어떤지 이미지를 첨부하는 등 해당 주차에 수행한 과제에 대한 개요를 작성한다. 제출 시엔 리뷰어로 멘토님을 설정해두고, 이 PR은 멘토님의 코드리뷰 후 최종 머지된다. 이 때 받았던 코드리뷰에 대한 수정은 다음 주차 PR에 반영하면 된다.

  5. merged

    멘토님의 PR 승인으로 내가 짠 코드가 코드잇 레포에 머지되면 한 주의 과제를 모두 마친것이다.

이후 제출: pull&push, push, PR

  1. pull: 코드잇 리모트 레포 → 내 로컬 레포

    코드잇 리모트 레포엔 내가 지난 주차에 수행한 과제가 머지되어있는 최신의 프로젝트 코드가 있다. 그리고 이 코드를 받아서 새 브랜치에서 이번 주차의 과제를 시작하고 싶기때문에, part1-내이름 브랜치로 이전 주차의 과제를 불러온다.

    $ git remote add upstream {코드잇-레포-url}
    $ git pull upstream part1-내이름
  2. push: 내 로컬 레포 → 내 리모트 레포

    그리고 내 리모트 레포에도 반영해준다.

    $ git push origin part1-내이름

    여기까지가 이전 주차에 완료했던 과제물을 내 로컬, 리모트 레포에 반영하는 과정이다. 이 상태에서 새 주차의 과제를 시작한다

  3. 새 브랜치 만들기: git checkout -b part1-내이름-week2 (part1-내이름)

    part1-내이름 브랜치에서 part1-내이름-week2라는 새 브랜치를 제작하고, 여기에서 이번 주차의 과제를 시작한다.

  4. push: 내 로컬 레포 → 내 리모트 레포

    $ git push origin part1-내이름-week2

    2번의 push와는 다른점은 part1-내이름-week2 브랜치에서 진행한다는 점이다. 목적에서도 차이가 있다. 1번의 push는 지난주차의 과제를 내 리모트 레포에 반영하는 푸시인거고, 이 푸시는 이번주차 과제를 제출하기 위한 푸시이다.

  5. PR 요청: 내 리모트 레포 → 코드잇 리모트 레포

profile
배우고 정리해요

0개의 댓글