
UpStream : Origin_Repo
Origin : my_Repo
Local : clone
UpStream에서 Origin으로 ForkOrigin에서 Local로 Clone# clone
git clone [Origin 레포 주소]
Local에서 Brach 생성 후 Branch에서 코드 작성# branch 생성 후 생성된 branch로 이동
git checkout -b [브랜치 이름] // git checkout -b feature1
# branch로 이동
git checkout [브랜치 이름] // git checkout feature1
branch를 push// add
git add [특정파일] // 변경된 내용 올림
// commit
git commit -m '커밋내용'
// push
git push origin [브랜치 이름] // git push origin feature1
push를 통해 변경된 branch를 UpStream에 PRUpStream에는 각 팀원들의 작성된 코드가 올라간다.Merge를 진행하기 전, 코드리뷰를 통해 작성된 코드 중 수정해야 하는 부분이나 추가해야 하는 부분에 대한 것을 팀원들과 교류한다.[❗Merge란? ]
다른 브랜치들을 현재
Checkout된 브랜치에Merge하는 것으로, 브랜치들을병합하는 것
Merge된 UpStream을 Pull하여 추가 코드 작성Branch를 Push와 PR, Merge까지 한 코드를 Pull하여 추가 기능 코드를 작성한다.UpStream에 있는 dev를 Local의 dev에 반영git add remote add upstream ~와 git pull upstream ~ 사용]// 현재 git 위치 명시
git remote add upstream [upstream 레포주소] // 내가 pull할 upstream 레포주소
// pull
git pull upstream dev
[잠깐!] 페어와 'remote'를 해야한다면?
// * 레파지토리 연결하기 git remote add [레포주소]
$ git remote add pair [페어 레포주소] // 페어와 remote (공통)
$ git remote -v // 현재 remote되어있는 상황 확인하기 (공통)// 페어 A
$ git add [change file] // 변경된 파일 add (페어 A)
$ git commit -m 'change message' // 커밋내용 (페어 A)
$ git push origin master(or other branch name) // (페어 A)// 페어 B
$ git pull pair master(or other branch name) // 페어 A가 올린 코드를 가져온다 (페어 B)
$ git add // 변경된 파일 add(페어 B)
$ git commit -m 'change message' // 커밋내용(페어 B)
$ git push origin master(or other branch name) // (페어 B)
branch를 생성한 후 생성된 branch에 코드 작성❗주의할 점
- 현재 나의 작업 위치 확인(
feature1인지dev인지)- 현재 위치가
dev가 아닐 시git checkout을 이용하여dev로 작업 위치 변경현재
pull해 온 곳은feature1브랜치이다.(push를 할 때feature1을push)
그렇기 때문에git checkout dev로 이동을 한 후dev에서 새로운branch를 작성해야 한다.
즉, 현재 내가pull해 온 위치가 어디인지 확인 후dev위치가 아니라면dev로 이동 후branch를 작성한다.
# branch를 생성해야 하는 dev로 이동
git checkout dev // UpStream에 master와 dev 브랜치 중 dev브랜치에서 작업하기 위해 dev 브랜치로 이동
# 2번째 branch 생성
git checkout -b [브랜치 2] // git checkout -b feature2
UpStream의 'master' 브랜치와 'dev' 브랜치dev브랜치는 해당 프로젝트를 진행을 위해 UpStream레파지토리에서 팀장이 생성한 branch이다.팀원은 UpStream의 레파지토리를 Fork할 시 master 브랜치와 dev 브랜치 모두 가져와진다.