코드리뷰 방법 1단계 및 피드백
우테코 코드리뷰 1단계 및 피드백 반영
📜 제목으로 보기
개별 셋팅
관리자 짝 매칭 실시
-
관리자 매칭 실시
-
피매칭자은 확인함.
원본레포에 각 github_id br 생성
- lecture클릭후
미션시작
클릭시 -> 자동으로내 github_id
로 —>미션repo에 브랜치
생성 -
미션시작으로 내 브랜치를 생성하면,
리뷰어도 자동 배정
된다. )- 동시성 잇슈가 있을 땐, 관리자가 리뷰어를 재배정한다.
-
저장소로 와서
내 github_id
로생성된 branch
가 정상 생성되었는지미션repo에 branch 검색
해서 확인한다
원본레포 각 fork
- 강의홈페이지를 통해 branch가 생성되었으나 팀원X push권한 X ->
fork
를 먼저 한다.- 문서를 보면서 스텝바이스텝으로 한다.
- 여기선 1단계까지만 한다.
- 코드리뷰 요청 1단계: 미션 진행 후 github에 올리는 단계
- 코드리뷰 요청 2단계: 코드리뷰 요청을 보내고, 피드백을 받은 후 피드백 반영 및 merge하는 단계
- 코드리뷰 요청 3단계: 다음 단계 미션을 위해 준비하는 단계
- 이렇게 권한은 없지만 [강의홈페이지를 통한 원본repo에
이름만 내 github_id branch
]가 생성된 상태로 -> fork한다.- fork가 내 계정으로 잘되어있어야한다
-
fork를 해도
기존 원본repo의 모든 branch들
이 다 fork되어있다. 기본 main으로 되어있다.
github_id single-branch만 clone
-
fork는 모든 branch그대로 보유 —>
clone을 통해서 로컬로 가져올 때는 --single-branch만
가져오는 것이 가능하다.- 현업에서는 10개이내 branch이므로
git clone -b [branch명] --single-branch [fork한 레포명]
가 필요가 없다 . -
내 이름의 branch
가 main브랜치다.
git clone -b {본인_아이디} --single-branch https://github.com/{본인_아이디}/{저장소 아이디} ex) git clone -b javajigi --single-branch https://github.com/javajigi/java-baseball.git
-
git clone -b is2js --single-branch https://github.com/is2js/java-racingcar.git
- intellij 터미널에서 작업하면 된다.
PS C:\Users\cho_desktop\IdeaProjects\missions> git clone -b is2js --single-branch https://github.com/is2js/java- racingcar.git
- 현업에서는 10개이내 branch이므로
-
- intellij에서 clone한 폴더를 open한다
- 내 이름의 싱글브랜치만 가져와지는지 확인한다.
step1 br(작업 br) 생성
-
git checkout -b step1
으로 첫번째 리뷰용 브랜치를 만든다.- –single-branch clone 한 입장에서 , 내 id_branch -> main브랜치
-
작업할 branch ->
step1 -> ...
-
cf) **git alias는 집착해서 알아야한다.-> **
-
gco
main = git command -
gba
= git branch -a# windows git alias git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st status git config --global alias.br branch git config --global alias.hist "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short" git config --global alias.type 'cat-file -t' git config --global alias.dump 'cat-file -p' # shell git alias alias gs='git status ' alias ga='git add ' alias gb='git branch ' alias gc='git commit' alias gd='git diff' alias gco='git checkout ' alias gk='gitk --all&' alias gx='gitx --all' alias got='git ' alias get='git '
-
협업 시작 (A와 B)
-
일단 github_id가 local에의
user.name
과 동일한지 확인한다.git config user.name
작업레포(local, A) 정하기
-
페어와
CodeWithMe
등으로 작업할 local 레포 정하기-
나의 경우, 네트워크 잇슈로
화면공유 + B를 colaborator 등록
하여 B가 local에step1
만--single-branch clone
후 서로 push && pull 해서 작성함.git clone -b step1 --single-branch [git주소] [폴더명 or .]
-
-
작업을 완료한 뒤 push까지 끝낸다.
A fork레포(remote 2) —fetch/merge–> B local레포
-
협업해서 push된 [A 원격레포-step1]를 2번째
remote repo
로 등록한다.-
1번째는 fork한 나(B)의 원격레포
-
2번째는 fork한 A의 원격레포
git remote add pair<원격레포별칭> <Repo URL for pairs fork> git remote -v
- origin: 원격 저장소를 가리키는 일반적인 별칭
- pair: 내가 정한 추가 원격 레포의 별칭
-
-
A 원격레포(remote pair)의 step1(협업했던br)의 내용만 fetch해온다.
-
A pair repo
->B local repo
- 우리는 pull을 해버렸다. pull할때마다 merge로 표기되니 조심.
- git fetch : 다른 사람의 branch의 내용을 가져와 확인한 뒤 (나중에) merge 하고 싶을때 fetch를 사용
- 아직 merge는 하지 않았기 때문에 인텔리제이에 가져온 코드들이 보이진 않을 것이다.
git fetch pair step1
- 안되면 git fetch
pair/step1
-
-
fetch로 내역들을 확인했으면 merge한다.
git merge pair/step1
- fetch는 띄워쓰기 / merge는 fetch된 것을
/
로 연결
- fetch는 띄워쓰기 / merge는 fetch된 것을
A fork레포(remote2) -> B fork레포(remote1)
-
정보를 줄 pair(remote2)의 협업br(step1)
로 HEAD 이동시켜놓기git checkout pair<원격레포별칭>/step1<협업br>
-
정보를 받을 origin(remote1)의 협업br(step1)으로 push하기
-
A pair repo
->B remote repo
- remote —> remote로 commit내역을 넘기나보다.
- fetch -> merge로 local에 가져왔다면, 원격에서 원격으로 한번더 가져오나보다.
git push --force origin step1
-
사실… B local -> B fork로 가는게 맞다?
-
동기 크루 중 1분의 블로그
- git remote add pair url
- git fetch pair step1
- git merge pair step1
- git push origin step1
코드리뷰 요청
페어 끊기
- 우테코 홈피 -> 나의팀 ->
피드백
을 누르면 페어가 끊어진다.- 페어가 끊어져야 리뷰요청이 활성화된다?!
forkRepo -> 원본Repo PR (리뷰요청)
- 내
fork 원격레포
의step1
br로 이동한 뒤, 원본(미션)repo로 PR를 누른다.- PR을 통한 코드리뷰는
fork레포
-작업br(step1)
에서 PR을 걸어 ->원본레포
의나와관련된 br(is2js)
에 요청하는 것- fork레포의
관련br(is2js)
가 아닌 것에 주의하자.
-
PR 받는 곳 원본레포: base repository -
is2js(관련 br)
-
PR 보내는 곳 fork레포: head repository -
step1(작업br)
- branch를 잘 선택해야한다.
- PR을 통한 코드리뷰는
- PR메세지까지 다 작성해서 제출한다.
홈피->slack에 리뷰요청 알림
-
우측 상단에
리뷰요청
-
slack으로 메세지 전달
slack->피드백 알림 -> 로컬수정 -> PUSH로 피드백반영 -> 홈피 리뷰요청2
- 슬랙으로 피드백 반영해달라고 알림이 온다
- 날렸던 PR에 그대로 코드리뷰가 반영되어있다.
- local에서
step1
br로 수정한다. -
local step1 -> remote step1
PUSH 하는 순간 피드백 반영
되므로 조심하자.- 추가 PR은 필요 없다.
-
push로 피드백 반영
이 끝났으면 우테코 학습 홈피 -> 우측상단 리뷰요청 -> 리뷰요청 -> slack메세지 - 리뷰어가 피드백을 보고 merge해줄 것이다. 그럼 다음 단계로 진행하면 된다.