[Git]Git을 활용한 협업 Flow

건강전도사·2022년 3월 16일
0

series_of_gasoline

목록 보기
6/7
post-thumbnail

1. 개발환경 세팅

  • 공통으로 작업할 부분과 개별 작업할 부분을 나누어 배분합니다.
  • 1명이 개발환경을 세팅하여 Remote(원격) 저장소의 Master로 Push합니다.

2. 공통 작업부 / 개발환경 가져오기

  • 공통 작업부와 개발환경을 내려받은 후에 각자 맡은 파트를 작업합니다.
  • 이 때, 각자 맡은 파트외에는 협의 없이 만지지 않습니다.

Github에 있는 협업 대상물인 레파지토리를 Local(나의 저장소)로 복제해옵니다.
=> git clone 레파지토리 주소

레파지토리를 복제한 후에는 바로 작업을 진행하면 안됩니다.
나의 Local저장소 역시 Master(또는 Main)feature로 나뉘어있습니다.

Master는 원격에서 작업한 공동 작업물을 내려받는 역할만 하고 실질적인 작업은 feature에서 진행합니다. 이는 추후 다룰 conflict를 방지하기 위해서입니다.
[Git Conflict 보러가기]

개발환경 가져올때 유의사항
node.modules 등 .git ignore에 등록된 파일은 Git에 올라가지 않고, 필요한 패키지의 목록과 버젼이 작성되어 있는 package.jason만 올라감.
이에 팀원들은 npm install로 프로젝트에 필요한 노드모듈만 설치하면 바로 개발에 착수할 수 있다.

3. 내려받은 개발환경 위에서 코드 작성하기

먼저 branch를 만들어줍시다. 본인이 작업할 모듈명 등을 활용합니다.
=> git branch feature/브랜치명

branch 생성했으면 작업을 위해 생성한 branch로 이동을 해줍시다
현재 브랜치 확인하기
=> git branch
브랜치 이동
=> git checkout feature/브랜치명

4. 작성한 코드 올리기( add - commit - push)

코드를 작성한 이후에는 공통의 레포지토리에 작업한 결과물을 push합니다
git add .
git commit -m "ADD:"
git push origin feature/브랜치명

*origin이란 : 당초 클론한 저장소 주소를 간단하게 표현한것

5. PR템플릿 작성 및 제출

  • PR template 작성하여 제출합니다
  • remote(원격) 저장소의 master는 해당 코드를 리뷰한 후 문제가 없을시 merge합니다.

6. 원격저장소에 업데이트된 작업물 내려받기

  • merge된 이후 remote(원격저장소)에 있는 업데이트된 작업물을 local(내 작업공간)의 master(또는 main)로 내려받습니다.
    `branch'에서 내려받으면 안됩니다. 그 곳은 코딩하는 공간..

로컬 마스터로 이동합니다.
=> git checkout master (로컬 마스터로 이동)
=> git pull master

7. Git Conflict

  • 공통작업물이나 타인의 작업물을 만질 경우, 충돌이 일어난다. 그러게...자기 맡은 부분만 수정해야지... 이러한 과정을 해소하는 방법을 다음시간에
    [Git Conflict 보러가기]
profile
실수는 삶과 정신의 여백입니다. 여백이 많은 츄러블슈팅 맛집

0개의 댓글