## Table of contents
01 협업하기
01-01 팀장용: 공동작업자 추가
팀장의 깃허브 계정에 프로젝트 Repository 를 생성한다.
아래의 이미지 순서대로 [Settings] – [Collabrators] 클릭
- 팀원의 깃허브 아이디나 메일 주소를 입력하고 [Add Collabrator] 클릭
- 진행중 인증창나오면
- 로그인해서 인증후 진행한다
- 팀원이메일 등록 완료 화면
01-02 팀원용: 공동작업자 수락
- 팀원은 개인 이메일이나 깃허브 계정에 등록된 이메일로 로그인하여 초대메일을 수신한다.
- 7일 안에 응해야 하므로 당장 클릭한다.
초대수락 버튼을 클릭하면 깃허브 로그인창으로 이동하고
- 로그인을 클릭하면 본인확인 창이 뜬다. 등록된 방법으로 본인확인 번호를 수신하여 인증번호를 입력후 인증버튼을 클릭한다
- 인증이 완료 되면 수락하기 버튼을 클릭한다.
- 우리팀의 깃허브 레파지토리가 보인다.
01-03. 팀장+팀원: 로컬저장소 생성
모두 자신의 pc에서 작업한다
깃으로 관리할 로컬 저장소를 생성후 사용자 등록 🔑
--global
옵션을 사용하지 않는다
git init 로컬 저장소명
cd 로컬 저장소명
git config user.name "내이름"
git config user.email "내메일주소"
01-04. 팀장 최초 버전생성
팀장은 로컬저장소 에서 text.txt 파일을 생성 후 간략히 텍스트를 적고 저장 한다
아래의 명령을 터미널에서 실행한다.
git branch -m develop
git add text.txt
git commit -m "최초커밋"
git remote add origin 원격저장소주소
git push origin develop
01-05. 팀원
로컬저장소와 원격저장소 연결 - 터미널에 아래의 명령어를 입력
git remote add origin 원격저장소주소
pull 하기
`git pull origin 브랜치명`
🔑 항상 최신 커밋을 pull 한 다음 push한다.
02. 협업 시나리오
02-01. 문제상황발생
팀장: 도상
팀원: 민규, 민정
상황: index 파일을 내려받고 각자 작업후 push 하는중..
문제: 민정이는 되는데 민규가 안됨
민정이가 민규보다 빨리 push 를 해서 원격저장소의 버전이 달라졌다 그래서 오류가 난다.
민규는 아래의 과정을 진행한다
```
git pull origin 브랜치명
git add .
git commit -m "민규는 민정이보다 빠르지"
git push origin 브랜치명
``` ---
02-02. 브랜치로 작업하기
민규와 민정이의 사례처럼 공동 작업시 버전충돌이 발생하거나
서로의 코드 버전이 꼬여서 프로젝트가 엉킬수 있다.개발 작업중 파트별로 갈래를 생성하여 작업한 다음 한덩어리로 합칠수 있는데
이때의 갈래를 브랜치라고 한다.
02-02-01. 팀원별 브랜치 만들기
- 팀원별 브랜치 생성하기 (로컬저장소에서 진행)
- 브랜치 생성시 다른 팀원과 이름이 중복되지 않도록 유의한다.
- 아래의 명령어는 브랜치를 생성하면서 변경하는 명령어이다.
git switch -c 브랜치명
- 자신의 브랜치에서 작업을 한후 버전을 생성한다.
git add 내파일 git commit -m "민정이 작업해또요"
02-02-02. 팀원별 브랜치 병합
원격저장소의 개발 브랜치 최신 커밋을 pull 한다.
나의 로컬 브랜치의 최신버전과 merge 후 push 한다.
git switch 개발브랜치 git merge 내브랜치 git add 내파일 git commit -m "민정이 작업" git push origin 개발브랜치
03-main 브랜치 막기
branch protection rule 적용
04-production
개발프로세스 local -> dev -> Integrtion -> qa -> staging -> production
🔗link
production : vercel (main)
staging: git-page(develop)