From 791b9e651162b9b65c8d5c85b922e2b75f5cb0e7 Mon Sep 17 00:00:00 2001 From: chromatices <56014940+chromatices@users.noreply.github.com> Date: Tue, 5 Nov 2019 20:38:53 +0900 Subject: [PATCH] Update collaborate_using_github.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 191105 첫 마크다운 수정작업을 진행했습니다. 브랜치 전략부분에서는 별도의 수정을 하지 않았습니다. 깃을 처음사용하는 초보자의 시선에서 실수하지 말아야 될 부분을 강조하면서 작성했습니다. --- posts/principle/collaborate_using_github.md | 48 ++++++++++++++++++--- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/posts/principle/collaborate_using_github.md b/posts/principle/collaborate_using_github.md index bc51e3a..fc8329b 100644 --- a/posts/principle/collaborate_using_github.md +++ b/posts/principle/collaborate_using_github.md @@ -54,13 +54,52 @@ #### 1.2.2 브랜치 전략 +내용 수정중... +#### 1.2.2.1 원격 저장소 Fork ----- +공동으로 작업해올 저장소를 개인 저장소로 가져와야 합니다. fork의 경우 원격 저장소를 수정할 수 있습니다. 쉽게 설명드리면 프로젝트 저장소를 개인의 깃으로 가져오는 과정입니다. 이 과정을 거친 후에 로컬과 연결하는 작업을 진행할 수 있습니다. 프로젝트 저장소의 우측 상단부에 fork를 누른 후 개인 저장소로 복제해옵니다. 이를 공유 저장소라고 하겠습니다. -.... 작업 중..... +#### 1.2.2.2 깃 초기화 및 환경설정 +공유할 저장소를 받아오기 위해서는 빈 디렉토리가 필요합니다. 새로운 폴더에 깃 저장소를 생성하고 개인저장소에서 공유저장소의 주소를 clone해옵니다. +**반드시 clone or download에 있는 주소를 가져오셔야 합니다.*** +또한 새로운 폴더와 프로젝트 저장소의 환경을 동일하게 하는 작업을 진행합니다. +순서는 다음과 같습니다. + +1. 새로운 폴더를 만듭니다. 빈 폴더가 아니면 clone이 되지 않습니다. +2. 해당폴더에서 터미널로 **git init** 으로 저장소를 초기화 해줍니다. +3. 저장소를 만든 폴더에서 개인 저장소에 있는 공유 저장소를 가져옵니다. **git clone (clone에 있는 주소)** 으로 공유 저장소 정보를 가져옵니다. +4. 공유 저장소의 브랜치를 생성해줍니다. 보통 develop으로 이름을 지으며, 이는 프로젝트 저장소에서 풀리퀘를 할때 이름을 맞춰주셔야 실수로 merge하지 않기 위함입니다. **get add remote origin (공유 저장소 clone 주소)** +5. 프로젝트 저장소와 싱크를 맞추기 위해 upstream 브랜치를 추가합니다. + **git add remote origin (프로젝트 저장소 clone 주소)** 로 upstream 브렌치를 추가합니다. +6. **git remote -v** 명령어로 브랜치가 정상적으로 생성되었는지 확인해봅니다. +7. **git fetch upstream** 명령어로 프로젝트 저장소와 동일한 환경을 만들어줍니다. 이 과정을 생략하게되면 풀리퀘가 올라가도 정상적으로 등록할 수 없으니 필히 시행해주시기 바랍니다. + +#### 1.2.2.3 파일 올리기 & commit 및 push + +본인이 올릴 파일이나 폴더 디렉토리가 있을껍니다. 환경설정까지 진행한 폴더에 파일이나 폴더를 추가하고 이를 commit까지 하는 작업을 설명하겠습니다. commit은 되돌릴수 있으나, 작업을 간소화하기 위해 최대한 신중하게 해주는 편이 좋습니다. 실수했을 경우 환경설정부터 다시 다 해줘야 합니다.(commit을 취소했어도 git에서 새로운 파일을 인식하지 못하기 때문입니다.) + +순서는 다음과 같습니다. + +1. **git checkout -b develop** 명령어로 작업할 브랜치로 돌아와서 작업을 시행합니다. master 브랜치로 작업을 시행할 경우 **바로 merge가 될 수 있으니 주의해주시기 바랍니다**. +2. 환경설정이 완료된 폴더에 소스코드 파일이나 폴더를 복사/이동 해줍니다. 위에서 강조한대로 새로 업로드한 파일을 **한번더 검토** 해주시는 것이 좋습니다. +3. **git status** 명령어로 확인을 해봅니다. 새로운 (파일/폴더) 을(를) git이 감지합니다. +4. **git add (올릴 파일이나 폴더)** 으로 업로드할 준비를 합니다. +5. **git commit** 명령어로 어떤점이 변경되었는지 등에 대한 작업내용을 표기합니다. commit -m "변경된 내용" 으로 작업을 간소화 할 수 있으니 참고 바랍니다. +6. commit이 정상적으로 되었는지 확인하기 위해 **git status** 으로 확인을 합니다. 이상이 없으면 **git push origin develop** 으로 공유 저장소에 수정사항을 반영합니다. + +#### 1.2.2.4 프로젝트 저장소에 pull request 작성하기. + +공유 저장소에 push를 했으면 공유 저장소에 develop 브랜치에서 프로젝트 저장소의 develop으로 pull request를 보낼 수 있습니다. + +순서는 다음과 같습니다. + +1. github.com으로 가셔서 본인의 공유 저장소로 접속합니다. +2. Compare & Pull request 버튼을 눌러 pull request 준비를 합니다. +3. Open a pull request 제목 밑에 프로젝트 저장소 브랜치와 공유 저장소의 브랜치가 보입니다. 두 브랜치를 develop으로 맞춰줍니다. +4. 제목과 내용을 기입하고 Create pull request를 눌러 작업을 마무리합니다. ### 1.1 프로젝트 시작 @@ -74,7 +113,7 @@ ### 1.2 프로젝트 작업 방식 -작업 목록은 프로젝트 회의를 통해서 결정됩니다. 결정된 작업은 Personal Remote Repository와 Personal Local Repository에서 하는 것을 목적으로 합니다. +작업 목록은 프로젝트 회의를 통해서 결정됩니다. 결정된 작업은 Personal Remote Repository와 Personal Local Repository에서 하는 것을 목적으로 합니다. @@ -170,8 +209,7 @@ - 리뷰어에게 승인이 떨어지지 않으면 Merge를 금지합니다. - ### Code Convention - Coding Convention은 PEP8을 따릅니다. - - Git hooks를 이용하여 commit시, Code Convention을 충족시키는 방향으로 제한합니다. \ No newline at end of file + - Git hooks를 이용하여 commit시, Code Convention을 충족시키는 방향으로 제한합니다.