├── README.md ├── Sequence ├── CodeReviewSequence_01.png ├── CodeReviewSequence_02.png ├── CodeReviewSequence_03.png ├── CodeReviewSequence_04.png ├── CodeReviewSequence_05.png ├── CodeReviewSequence_06.png ├── CodeReviewSequence_07.png ├── CodeReviewSequence_08.png ├── CodeReviewSequence_09.png ├── CodeReviewSequence_10.png ├── CodeReviewSequence_11.png ├── CodeReviewSequence_12.png ├── CodeReviewSequence_13.png └── CodeReviewSequence_14.png ├── codereview-auto └── README.md └── codereview └── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 코드스쿼드 표준 문서 저장소 2 | 3 | ## [코드스쿼드의 온라인 코드 리뷰 과정](./codereview/README.md) 4 | -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_01.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_02.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_03.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_04.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_05.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_06.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_07.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_08.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_09.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_10.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_11.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_12.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_13.png -------------------------------------------------------------------------------- /Sequence/CodeReviewSequence_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-squad/codesquad-docs/6045930a2f2cd6e0aaaacd028c7ae7bce8cf2237/Sequence/CodeReviewSequence_14.png -------------------------------------------------------------------------------- /codereview-auto/README.md: -------------------------------------------------------------------------------- 1 | # 텍스트와 이미지로 살펴보는 코드스쿼드 온라인 코드 리뷰 과정 2 | 3 | - 최종수정: 2023년 3월 6일 4 | - 이 가이드는 자동 PR merge 되는 저장소를 기반으로 한 코드 리뷰 과정을 설명하는 문서이다 5 | - 내 닉네임(아이디)과 깃헙 계정은 동일하게 `yoda`를 기준으로, 저장소는 `project`를 기준으로 설명한다 6 | 7 | ## 𝔸. 브랜치 생성 및 포크 8 | 9 | 1. 깃헙 프로젝트 저장소에 자신의 닉네임(아이디)에 해당하는 브랜치가 있는지 확인한다. 10 | 브랜치 생성하려면 Lucas에서 브랜치 생성 버튼을 클릭하고 `{본인_아이디}`으로 생성한다. 11 | 12 | ![codereview sequence #1](../Sequence/CodeReviewSequence_01.png) 13 | 14 | 15 | 2. 프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다. 16 | 17 | 단, fork할 때 `main branch only` 옵션을 적용하면 1번에서 생성한 `{본인_아이디}` 브랜치가 함께 fork되지 않고 main 브랜치만 fork된다. 18 | 19 | ![codereview sequence #2](../Sequence/CodeReviewSequence_02.png) 20 | 21 | 22 | ## 𝔹. 저장소 클론 23 | 24 | 3. fork한 프로젝트를 자신의 컴퓨터로 clone한 후, 디렉토리로 이동하고 본인_아이디에 해당하는 브랜치를 생성한다. 25 | 26 | ```bash 27 | # git clone https://github.com/{본인_아이디}/{저장소 아이디} 28 | $ git clone https://github.com/yoda/project 29 | ``` 30 | 31 | ```bash 32 | # cd {저장소_아이디} 33 | $ cd project 34 | 35 | # git switch -c {본인_아이디} 36 | $ git switch -c yoda 37 | ``` 38 | 39 | ![codereview sequence #3](../Sequence/CodeReviewSequence_03.png) 40 | 41 | 42 | ## ℂ. 새로운 브랜치 생성하고 작업하기 43 | 44 | 4. 기능 구현을 위한 브랜치를 생성한다. 45 | 46 | ```bash 47 | # git switch -c {작업_브랜치_이름} 48 | $ git switch -c feature1 49 | ``` 50 | 51 | ![codereview sequence #4](../Sequence/CodeReviewSequence_04.png) 52 | 53 | 54 | 5. 기능 구현 후 add, commit 55 | 56 | ```bash 57 | $ git status #확인 58 | $ git rm {파일명} #삭제된 파일 59 | $ git add {파일명} #추가하거나 변경한 파일 60 | # ex) git add . (변화가 있는 모든 파일 반영은 .(dot)을 사용) 61 | $ git commit -m "커밋 설명 메시지" // 커밋남기기 62 | ``` 63 | 64 | ![codereview sequence #5](../Sequence/CodeReviewSequence_05.png) 65 | 66 | ## 𝔻. 리모트 Origin 저장소에 올리기 67 | 68 | 6. push 명령으로 본인 원격 저장소(Origin) 에 업로드한다. 69 | 70 | ```bash 71 | # git push origin {작업_브랜치_이름} 72 | $ git push origin feature1 73 | ``` 74 | 75 | ![codereview sequence #6](../Sequence/CodeReviewSequence_06.png) 76 | 77 | ## 𝔼. Pull Request 보내기 78 | 79 | 7. GitHub 서비스에서 pull request를 보낸다 80 | 81 | > pull request는 원본 저장소(upstream)의 브랜치를 기준으로 앞 단계에서 생성한 브랜치 차이를 비교하도록 요청한다. 82 | 83 | ``` 84 | ex) code-squad/project yoda 브랜치를 base로 <= yoda/project feature1 브랜치와 비교하기 85 | ``` 86 | 87 | ![codereview sequence #7](../Sequence/CodeReviewSequence_07.png) 88 | 89 | ## 𝔽. PR Merge와 작업 브랜치 제거 90 | 91 | 8. PR은 자동으로 머지를 시도하며, 만약 실패했을 경우 원인과 문제점을 찾아서 해결한다 92 | 93 | > 자동 머지가 되는 기준과 방법을 찾는 것도 중요하지만, 94 | > 실패한 원인을 이해하고 해결 방법을 경험하는 것도 중요하다. 95 | 96 | ![codereview sequence #8](../Sequence/CodeReviewSequence_08.png) 97 | 98 | 9. merge를 완료했다는 통보를 받으면 head 브랜치를 변경하고 작업 브랜치를 삭제한다 99 | 100 | ```bash 101 | # git switch {아이디_브랜치_이름} 102 | $ git switch yoda 103 | # git branch -D {삭제할_브랜치_이름} 104 | $ git branch -D feature1 105 | ``` 106 | 107 | ![codereview sequence #9](../Sequence/CodeReviewSequence_09.png) 108 | 109 | ## 𝔾. 원본 저장소(upstream) 최초 등록 110 | 111 | 10. merge한 codesquad 저장소:브랜치를 동기화하기 위해 codesquad 저장소의 자기 브랜치 추가하기 112 | 113 | > remove -v 명령으로 확인해보고 최초 한번만 `upstream`으로 등록한다 114 | 115 | ```bash 116 | # git remote add -t {아이디_브랜치_이름} {저장소_별칭} base_저장소_url 117 | $ git remote add -t yoda upstream https://github.com/code-squad/project.git 118 | # 위와 같이 codesquad 저장소를 추가한 후 전체 remote 저장소 목록을 확인한다 119 | $ git remote -v 120 | ``` 121 | 122 | ![codereview sequence #10](../Sequence/CodeReviewSequence_10.png) 123 | 124 | ## ℍ. 업스트림 저장소와 브랜치 정보 갱신 125 | 126 | 11. codesquad 저장소에서 자기 브랜치 정보 가져오기 127 | 128 | ```bash 129 | # git fetch upstream {아이디_브랜치_이름} 130 | $ git fetch upstream yoda 131 | ``` 132 | 133 | ![codereview sequence #11](../Sequence/CodeReviewSequence_11.png) 134 | 135 | ## 𝕀. 내 브랜치 동기화 136 | 137 | 12. codesquad 리모트(upstream) 저장소 브랜치와 동기화하기 138 | 139 | ```bash 140 | # git rebase upstream/{아이디_브랜치_이름} 141 | $ git rebase upstream/yoda 142 | ``` 143 | 144 | ![codereview sequence #12](../Sequence/CodeReviewSequence_12.png) 145 | 146 | 147 | 13. 리모트 오리진(origin) 저장소 브랜치에 올리기 148 | 149 | ```bash 150 | # git push origin {아이디_브랜치_이름} 151 | $ git push origin yoda 152 | ``` 153 | 154 | ![codereview sequence #13](../Sequence/CodeReviewSequence_13.png) 155 | 156 | ## 𝕁. 반복작업 진행 157 | 158 | 14. 4단계부터 다시 진행한다. 또한 피드백 내용을 반영할 필요가 있을 경우 이를 반영하고 다시 PR을 준비한다. 159 | 160 | ![codereview sequence #14](../Sequence/CodeReviewSequence_14.png) 161 | 162 | 163 | ## 동영상으로 살펴보는 코드스쿼드의 온라인 코드 리뷰 과정 164 | 165 | [github을 기반으로한 온라인 코드 리뷰 방법](https://youtu.be/a5c9ku-_fok) 166 | -------------------------------------------------------------------------------- /codereview/README.md: -------------------------------------------------------------------------------- 1 | # 텍스트와 이미지로 살펴보는 코드스쿼드 온라인 코드 리뷰 과정 2 | 3 | - 최종수정: 2023년 3월 6일 4 | - 이 가이드는 코드 리뷰어와 피드백을 주고받으며 PR을 완성하는 일반적인 리뷰 과정을 설명하는 문서이다 5 | - 내 닉네임(아이디)과 깃헙 계정은 동일하게 `yoda`를 기준으로, 저장소는 `project`를 기준으로 설명한다 6 | 7 | ## 𝔸. 브랜치 생성 및 포크 8 | 9 | 1. 깃헙 프로젝트 저장소에 자신의 닉네임(아이디)에 해당하는 브랜치가 있는지 확인한다. 10 | 브랜치 생성하려면 Lucas에서 브랜치 생성 버튼을 클릭하고 `{본인_아이디}`으로 생성한다. 11 | 12 | ![codereview sequence #1](../Sequence/CodeReviewSequence_01.png) 13 | 14 | 15 | 2. 프로젝트를 자신의 계정으로 fork한다. 저장소 우측 상단의 fork 버튼을 활용한다. 16 | 17 | 단, fork할 때 `main branch only` 옵션을 적용하면 1번에서 생성한 `{본인_아이디}` 브랜치가 함께 fork되지 않고 main 브랜치만 fork된다. 18 | 19 | ![codereview sequence #2](../Sequence/CodeReviewSequence_02.png) 20 | 21 | 22 | ## 𝔹. 저장소 클론 23 | 24 | 3. fork한 프로젝트를 자신의 컴퓨터로 clone한 후, 디렉토리로 이동하고 본인_아이디에 해당하는 브랜치를 생성한다. 25 | 26 | ```bash 27 | # git clone https://github.com/{본인_아이디}/{저장소 아이디} 28 | $ git clone https://github.com/yoda/project 29 | ``` 30 | 31 | ```bash 32 | # cd {저장소_아이디} 33 | $ cd project 34 | 35 | # git switch -c {본인_아이디} 36 | $ git switch -c yoda 37 | ``` 38 | 39 | ![codereview sequence #3](../Sequence/CodeReviewSequence_03.png) 40 | 41 | 42 | ## ℂ. 새로운 브랜치 생성하고 작업하기 43 | 44 | 4. 기능 구현을 위한 브랜치를 생성한다. 45 | 46 | ```bash 47 | # git switch -c {작업_브랜치_이름} 48 | $ git switch -c feature1 49 | ``` 50 | 51 | ![codereview sequence #4](../Sequence/CodeReviewSequence_04.png) 52 | 53 | 54 | 5. 기능 구현 후 add, commit 55 | 56 | ```bash 57 | $ git status #확인 58 | $ git rm {파일명} #삭제된 파일 59 | $ git add {파일명} #추가하거나 변경한 파일 60 | # ex) git add . (변화가 있는 모든 파일 반영은 .(dot)을 사용) 61 | $ git commit -m "커밋 설명 메시지" // 커밋남기기 62 | ``` 63 | 64 | ![codereview sequence #5](../Sequence/CodeReviewSequence_05.png) 65 | 66 | ## 𝔻. 리모트 Origin 저장소에 올리기 67 | 68 | 6. push 명령으로 본인 원격 저장소(Origin)에 업로드한다. 69 | 70 | ```bash 71 | # git push origin {작업_브랜치_이름} 72 | $ git push origin feature1 73 | ``` 74 | 75 | ![codereview sequence #6](../Sequence/CodeReviewSequence_06.png) 76 | 77 | 78 | ## 𝔼. Pull Request 보내기 79 | 80 | 7. GitHub 서비스에서 pull request를 보낸다 81 | 82 | > pull request는 원본 저장소(upstream)의 브랜치를 기준으로 앞 단계에서 생성한 브랜치 차이를 비교하도록 요청한다. 83 | 84 | ``` 85 | ex) code-squad/project yoda 브랜치를 base로 <= yoda/project feature1 브랜치와 비교하기 86 | ``` 87 | 88 | ![codereview sequence #7](../Sequence/CodeReviewSequence_07.png) 89 | 90 | ## 𝔽. PR 리뷰 승인과 머지 후 작업 브랜치 제거 91 | 92 | 8. 리뷰어는 리모트(upstream) 저장소에서 PR 리뷰를 마무리하고 승인(approved)한다. 93 | 승인되기 이전에 변경할 사항이 있으면 PR을 열어놓은 상태에서 작업 브랜치에 계속 커밋하고 푸시한다. 94 | 95 | ![codereview sequence #8](../Sequence/CodeReviewSequence_08.png) 96 | 97 | 9. merge를 완료했다는 통보를 받으면 head 브랜치를 변경하고 작업 브랜치를 삭제한다 98 | 99 | ```bash 100 | # git switch {아이디_브랜치_이름} 101 | $ git switch yoda 102 | # git branch -D {삭제할_브랜치_이름} 103 | $ git branch -D feature1 104 | ``` 105 | 106 | ![codereview sequence #9](../Sequence/CodeReviewSequence_09.png) 107 | 108 | ## 𝔾. 원본 저장소(upstream) 최초 등록 109 | 110 | 10. merge한 codesquad 저장소:브랜치를 동기화하기 위해 codesquad 저장소의 자기 브랜치 추가하기 111 | 112 | > remove -v 명령으로 확인해보고 최초 한번만 `upstream`으로 등록한다 113 | 114 | ```bash 115 | # git remote add -t {아이디_브랜치_이름} {저장소_별칭} base_저장소_url 116 | $ git remote add -t yoda upstream https://github.com/code-squad/project.git 117 | # 위와 같이 codesquad 저장소를 추가한 후 전체 remote 저장소 목록을 확인한다 118 | $ git remote -v 119 | ``` 120 | 121 | ![codereview sequence #10](../Sequence/CodeReviewSequence_10.png) 122 | 123 | ## ℍ. 업스트림 저장소와 브랜치 정보 갱신 124 | 125 | 11. codesquad 저장소에서 자기 브랜치 정보 가져오기 126 | 127 | ```bash 128 | # git fetch upstream {아이디_브랜치_이름} 129 | $ git fetch upstream yoda 130 | ``` 131 | 132 | ![codereview sequence #11](../Sequence/CodeReviewSequence_11.png) 133 | 134 | 135 | ## 𝕀. 내 브랜치 동기화 136 | 137 | 12. codesquad 리모트(upstream) 저장소 브랜치와 동기화하기 138 | 139 | ```bash 140 | # git rebase upstream/{아이디_브랜치_이름} 141 | $ git rebase upstream/yoda 142 | ``` 143 | 144 | ![codereview sequence #12](../Sequence/CodeReviewSequence_12.png) 145 | 146 | 13. 리모트 오리진(origin) 저장소 브랜치에 올리기 147 | 148 | ```bash 149 | # git push origin {아이디_브랜치_이름} 150 | $ git push origin yoda 151 | ``` 152 | 153 | ![codereview sequence #13](../Sequence/CodeReviewSequence_13.png) 154 | 155 | ## 𝕁. 반복작업 진행 156 | 157 | 14. 4단계부터 다시 진행한다. 또한 피드백 내용을 반영할 필요가 있을 경우 이를 반영하고 다시 PR을 준비한다. 158 | 159 | ![codereview sequence #14](../Sequence/CodeReviewSequence_14.png) 160 | 161 | 162 | ## 동영상으로 살펴보는 코드스쿼드의 온라인 코드 리뷰 과정 163 | 164 | [github을 기반으로한 온라인 코드 리뷰 방법](https://youtu.be/a5c9ku-_fok) 165 | --------------------------------------------------------------------------------