*
표시가 있는 경우 최초 한 번만 진행하면 된다.
Fork
한다.포크가 완료되면 내 깃헙 저장소에서 해당 프로젝트를 찾고 로컬 저장소에서 git clone
한다.
git clone [복제할 원격 저장소 URL]
예) git clone https://github.com/bky373/toyscript.git
Organization의 원격 저장소에 Merge가 쌓이면 최신 코드가 로컬과 달라지게 된다.
로컬의 현재 코드를 최신 코드로 업데이트하기 위해 원격 저장소와 동기화가 필요한데 그 전에 원격 저장소를 추가하는 작업을 진행한다.
git remote add [원격 저장소 별칭] [원격 저장소 URL]
예) git remote add upstream https://github.com/toyscript/toyscript.git
git remote -v
저장소 추가 전
저장소 추가 후
git fetch upstream [원격 저장소 브랜치 이름]
예) git fetch upstream features
fetch 명령을 실행한 후
git branch -a
를 실행하면remotes/upstream/features
와 같은 브랜치가 새로 나타난다.
아래는 브랜치 이름 없이git fetch upstream
명령어를 실행하여 여러 브랜치가 함께 나타나고 있다.
현재 상태는 Organization 저장소의 브랜치를 가져오기만 한 상태로,
아직 로컬 저장소에 최신 코드가 반영된 것은 아니다.
이제 Organization 저장소 브랜치의 최신 코드를 로컬 저장소의 브랜치에 반영하기 위해 동기화 작업을 진행한다. 이때 rebase
명령어를 사용한다.
git rebase upstream/[브랜치 이름]
ex) git rebase upstream/features
로컬 저장소의 코드를 Organization의 최신 코드로 변경하였다.
이제 새로운 기능을 추가하기 위해 새 브랜치를 생성한다.
git checkout -b [브랜치이름]
예) git checkout -b feat/login