Dico
라는 브랜치가 만들어졌는 지 확인한다.
이렇게 내 github에도 해당 미션의 원격 저장소가 만들어지는 것!
Plus 🍯 tip: Fork를 해오면 코쿼 브랜치에서 fork를 해간 다른 사람들의 브랜치도 전부 나의 원격저장소에서 보여진다.
이 때 보여지는 브랜치를 지우고 싶다면 로컬 터미널에서 아래 명령어을 사용할 수 있다.
git push origin --delete {branch1} {branch2} {branch3}
이 때 주의할 점! 내가 실습할 "나의 브랜치"만 복사를 해오려면 아래 명령어로 진행한다.
git clone -b Dico --single-branch {내 원격저장소 리포지토리 url}
Plus 🍯 tip: git branch -a
로 생성된 모든 브랜치를 볼 수 있다. 이걸로 내 브랜치만 복사한 게 맞는 지 확인해볼 것!
(*일반적으로 main브랜치는 최종 결과를 반영하는 브랜치로 main에서 작업은 하지 않는다.)
git checkout -b step1
4번 과정에서 step1 브랜치가 만들어졌으니 git add
+ git commit
후에는 내 git의 step1 브랜치에 push를 해주어야한다.
git push origin step1
github에 들어가서 브랜치를 step1으로 바꿔준다음 New pull request
버튼으로 새로운 PR을 생성한다.
마스터분들이 코드 리뷰 시 참고할 수 있도록 본문 내용에 변경된 내용 summarize 하기
(이 단계를 시작하기 전, 먼저 현재 내가 어느 브랜치에 위치하고 있는 지 확인하고, 메인 브랜치(Dico
)가 아닐경우git checkout Dico
로 옮긴 후 시작한다.)
코드리뷰 이후 변경된 내용이 Dico브랜치에 merge 완료되면, 로컬과 원격의 버전을 동일하게 맞춰줘야 한다.
즉, 원격에 있는 코드를 로컬로 가져와야 하는데 현재 로컬의 Dico
브랜치는 비어있는 상태이므로 원격 Dico
브랜치와 로컬 Dico
브랜치에 연결고리를 만들어줘야 한다.
upstream
과 origin
저장소를 각각 설정해줘야 하는데, ⭐️⭐️⭐️이 때 주의해야 할 점은 upstream저장소와 origin저장소는 달라야한다는 것이다!⭐️⭐️⭐️
//upstream(코쿼 저장소) 연결하기 git remote add upstream {http://github.com/코쿼저장소 url}
그리고 git remote -v
로 확인해보면 origin
과 upstream
이 각각 설정된 것을 볼 수 있다.
이 상태에서 git branch -a
로 확인해보면 origin
브랜치만 보여질 뿐, upstream
브랜치는 보여지지 않는다.
❗️만일 origin이나 upstream 저장소를 재설정해야 할 때는, 아래 명령어로 변경할 수 있다.❗️
//upstream 저장소 삭제 git remote rm upstream //upstream 저장소 재설정 git remote add upstream {http://github.com/코쿼저장소 url}
*참고:
https://ifuwanna.tistory.com/263
https://mylko72.gitbooks.io/git/content/remote/remove.html
PR을 보낸 브랜치가 merge완료 된 걸 확인했다면, 현재 작업하던 브랜치에서 다시 main브랜치로 옮겨가야 한다.
git checkout main //혹은 git checkout Dico
그리고 merge 완료된 브랜치는 아래 명령어로 과감하게 지워준다.
git branch -D {지울 브랜치명}
이제 PR 이후 merge가 완료된 가장 최신 코드를 로컬로 가져와야하는데, 이걸 해주는 것이 아래 명령이다.
git fetch upstream Dico
⭐️⭐️⭐️이 때에도 모든 사람의 코드를 가져오려는 게 아니라면 반드시 브랜치를 별도로 특정해주어야 한다!!⭐️⭐️⭐️
이 상태에서 다시 git branch -a
을 해보면 보이지 않았던 remotes/upstream/Dico
가 생긴 것을 확인할 수 있다.
사실 fetch
만으로는 동기화가 완료된 것이 아니기 때문에 변화를 확인할 수 없다.
이제 로컬 Dico
브랜치에 PR이 끝난 원격 저장소의 코드를 동기화 해주어야하는데, 아래 명령어로 진행한다.
git rebase upstream/Dico
이 명령어는 "upstream에 있는 Dico 브랜치를 기준으로 내 로컬 Dico 브랜치를 업데이트 하겠다."라는 뜻이 된다.
이제 동기화 작업은 끝!!!
현재 위치는 동기화된 Dico
브랜치. 여기서 이제 새로운 브랜치 step2
를 만들어 새로운 작업을 이어가야 한다.
git checkout -b step2
이후 과정은 PR을 만드는 스텝(6번)부터 반복된다. 7번은 최초에 한번만 지정해주면 되므로 반복하지 않는다.
*본 포스팅은 아래 영상의 내용을 포함하고 있습니다.
잘못되거나 부적절한 내용이 있을 시 알려주시면 신속히 반영하도록 하겠습니다 🙂
https://www.youtube.com/watch?v=a5c9ku-_fok&feature=youtu.be