Git workflow & Branch

프최's log·2020년 8월 31일
0

git

목록 보기
4/9
post-thumbnail

1.workflow

1) 원본 레파지토리(upstream) 포크 → 각자의 로컬(origin)로 클론
2) 페어 레파지토리 연결작업 - Add pair's fork as remote

  • 리모트 저장소 추가하기(add)
    • add 뒤에 명칭은 자유롭게 써도 상관없다.
//예시 : 여기서 pair는 '리모트별칭'으로 위에서 말한바와같이 자유롭게 작성가능
$ git remote add pair <페어주소>
$ git remote -v

3) 파일 수정 및 커밋- Commit your change to your local repo

$ git add <change file>
$ git commit -m 'change'

4) 자신의 깃헙 레포에 푸쉬(업데이트) Push your code to your remote origin

 $ git push origin master(or other branch name)

5) 상대방이 레포 패치시작(동기화) → 3번과정으로 올라가서 반복 진행

$ git pull pair master (or other branch name)

주의사항
push는 내 레파지토리에서 진행
pull을 할 때는 페어의 레파지토리에서 진행

★ 충돌(conflict) 상황 만들기

  • 동일한 코드라인이 중복될 경우, auto merge가 진행되지 않는다.
  • vs-code에서 확인가능
    • 옥색은 내가 고친거 : current change
    • 파란색은 남이 고친거 incomming change
    • 선택해서 add하고 commit -m "complete merge" 하면 됨
    • git push origin master

git branch : 분리된 작업 영역

  • 사본을 생성해서 작업하는 곳으로 원본에 영향을 주지 않음
  • 새로운 기능을 개발할때, 또는 다양한 시도를 하고 싶을 때 활용하면 좋다.

1) 브랜치(branch) 만들기

  • 현재 작업 공간을 베이스로 만들어진다.★
    내가 어떤 브랜치에 있는 꼭 확인할 것

    • 위치확인법
      • git status를 누르면 현재 브랜치 위치 확인가능
      • git branch 를 통해 '*' 표시된 곳이 현위치
      • git branch -r : 지역/원격을 포함한 모든 브랜치 목록 보기
      • git branch -t 원격저장소 위치 브랜치 이름: 로컬과 동일한 이름의 브랜치 생성하면서 해당 branch 로 checkout 한다.
      • git remote update : 브랜치 갱신 관련링크1 / 관련링크2

① 브랜치 작업 공간 이동

$ git checkout <브랜치이름>

② 브랜치 생성

  • -b : 해당 브랜치를 만들면서, 작업공간 이동
$ git checkout -b <브랜치이름>
  • 생성한 브랜치 github 에 올리기
$ git push origin <생성한 브랜치이름>

  • 원본을 베이스로 한 브랜치 생성

    • 베이스로 하고 싶은 브랜치로 작업 공간 옮긴 후, checkout -b를 통해 다시 이동
  • 항상 개발브랜치(dev)를 최신화 시켜준다(동기화 : sync)

  • 브랜치 병합
    ① master로 전환
    ② 브랜치 병합 실행

$ git merge -d <합칠 브랜치이름>
  • 병합 취소
$ git reset HEAD~1
  • 브랜치 삭제
$ git branch -d <삭제할 브랜치 이름>

Project Git workflow

① master(upstream) repo fork
② git clone → local
sync work : upsteam dev branch pull → local
④ create new branch in local → write code
⑤ push new branch to my repo

  • master나 dev에 push하면 안됨.

⑥ new branch PR(pull request) to upstream
⑦ upstream admin - check & merge

그외 참조사이트

profile
차곡차곡 쌓아가는 나의 개발 기록

0개의 댓글