JS => git Workflow

CHO_velog·2021년 10월 7일
0

git Workflow 용어

  • UpStream : 처음 fork 해오는 저장소
  • Origin : 다른 사람의 저장소를 fork 했을 때(UpStream을 fork했을 때)의 내 저장소. 즉 UpStream과 Origin은 상대적으로 결정되는 개념이며, 모두 원격(remote) 저장소다.
  • Master : 배포 후 실제 사용을 위한 branch
  • Dev : 개발을 위한 branch(주로 백업용)

git Workflow 절차

1) $ git clone 'upstream의 저장소 주소' / 팀장

먼저 팀장이 fork는 하지 않은 상태에서 upstream의 저장소를 본인의 local로 clone해온다.

*fork란? 내 github 계정에 원본 저장소를 그대로 복사해오는 것.

2) $ git switch -c '백업용 branch명(보통 Dev)' / 팀장

팀장이 백업 용도로 사용할 dev brach를 만든다.

2-1) 개발 환경 설정 / 팀장

npm을 비롯한 react, axios, express와 cookie-parser, express-session, morgan, mysql, sequelize, sequelize cli, nodemon, eslint, prettier 등등.

이때 주의할 점은 주요 모듈의 설치 명령어에서 --save-dev를 사용해야 한다. --save를 쓰면 package.json에 해당 파일이 저장되지 않으므로 협업 시에는 꼭 '--save-dev'로 설치해줘야 한다.

  • 팀원들은 개발 환경 세팅을 위해 $ npm install

3) $ git push origin dev / 팀장

upstream으로 해당 branch를 올려준다. 이제 팀원들과 함께 작업할 공간이 생긴 것!

4) fork & $ clone / 팀원
팀원들은 upstream에서 fork한 뒤 자신의 local로 clone한다.

5) $ git remote add upstream 'upstream 주소' / 팀원
기존 워킹 디렉토리에 새 리모트 저장소를 추가해준다.
upstream이라는 저장소에 fork 하기 전의 원본 repo 주소를 연결해준 것.

6) $ git switch -c dev / 팀원

자신이 어느 branch에 있는지 확인한 후에 Master branch에서 dev branch를 만든다.

10) $ git pull upstream dev / 팀원
팀장이 만든 dev 브랜치를 가져온다.
upstream의 dev branch를 pull 해오면 local의 Dev branch가 최신화된다.

7) $ git push origin Dev / 팀원
백업을 위해 local에 만들어진 dev branch를 origin에 push해준다.

8) $ git switch -c 'feature/N' / 팀원

dev branch에서 하위 branch(보통 작업을 위한 feature 브랜치)를 만든다.
여기서는 기능마다 새로운 branch를 만들어 작업할 것이므로 feature/login, feature/logout 등과 같은 순서로 생성한다.

9) $ git push origin feature/N / 팀원
로컬에서 코드 작업이 끝나면 feature/N branch에서 push한다.
그럼 origin의 featureN branch로 코드가 업데이트된다.
그리고 github로 가서 upstream에 pull request를 날린다.

여기서 주의! feature -> dev(upstream)의 PR 경로를 잘 확인해야한다.

**10) 위 과정을 반복

pull로 upstream의 dev를 가져오고,
내 원격 저장소로 dev를 push하여 백업해주고,
다시 내 feature 브랜치에서 코드 작업을 한 후 push... 쭉쭉 반복!

profile
개발신생아

0개의 댓글