UpStream : Origin_Repo
Origin : my_Repo
Local : clone
UpStream
에서 Origin
으로 Fork
Origin
에서 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
에 PR
UpStream
에는 각 팀원들의 작성된 코드가 올라간다.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
브랜치 모두
가져와진다.