| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 책 원씽
- 카카오뷰N잡
- HTML
- 성공비법
- 카뷰 수익 인증
- 카카오뷰 온라인 수익화
- git 협업하기
- 실시간 통신
- 자기관리
- 위드굿즈
- 도서 원씽
- 30일 글쓰기
- 엑셀 기초 함수
- 엑셀 프린트하기
- Axios 라이브러리
- 카카오뷰 초보
- Git 팀 작업
- 카카오뷰 탭이동
- CSS
- 위드굿즈 굿즈샵
- express.js 환경 셋팅
- 이석증
- ppt 다이어그램
- 원씽
- 카카오뷰 부업
- 카카오뷰 수익
- ppt 도형 색
- 카카오뷰 성장
- 성공에 대한 거짓말
- 웹기초
- Today
- Total
김데이의 개발공부
[ TIL ] Day 39 - Git / GitHub 팀 협업하기 본문
[ TIL ] Day 39 - Git / GitHub 팀 협업하기
theday365 2025. 11. 19. 18:04🗓️ 수업 일자 : 2025.11.19
✨ 오늘의 수업 평가 : [ PROJECT ] ✨🙌 작은 성취, 큰 기쁨 ✨🙌
팀 작업 마지막, 개인별 개발 레포트 작성!
사실 별거 아니라고 생각했는데 막상 쓰고 보니
내가 뭘 했고, 어떤 부족한 점이 있었는지, 새롭게 배운 것 등등
작업했던 시간들이 새록새록 떠올랐다.
부족함 많은 팀원이었는데, 잘 이끌어줘서 고마운 팀원분들👍
다음 팀에서 만나면, 그때는 더 성장한 모습 보여드릴게요😉
👩💻 [개인 / 팀 프로젝트] 오늘 작업 내용 💻
- 팀 프로젝트 작업 : 팀 프로젝트에 대한 개인 회고록 작성
📝 오늘 배운 내용
- GitHub 팀 협업 셋팅
- [실무] GitHub 팀 협업 상황 별 명령어 모음
1. GitHub 팀 협업 셋팅
협업 과정
1단계 : [팀장] 협업을 위한 저장소를 만들고 팀원을 추가합니다.
팀장(또는 대표)이 깃허브에 프로젝트 개발을 위한 저장소를 만듭니다.
이후 해당 저장소의 셋팅으로 들어가 팀원들을 협업자(Collaborator)로 등록합니다.
[팀원] 팀 저장소를 개인 저장소에 복제 합니다
팀원들은 팀 저장소에 접속하여 상단 메뉴 중 [Fork]를 이용하여 개인 원격 저장소와 연결합니다.
2단계 : 실제 개발을 시작합니다.
팀원들은 자신의 로컬 환경에 Fork한 저장소를 연결하고, 규정에 맞추어 자신의 브랜치를 생성합니다.
단위 작업이 끝날 때마다 해당 브랜치로 커밋하고 푸시합니다.
3단계 : [팀원] 개발이 완료되면 풀 리퀘스트(=PR) 를 요청합니다
팀원은 자신의 작업이 완료되면 개인 원격 저장소로 최종 파일을 푸시하고,
해당 내용을 팀 저장소의 팀장/리뷰어에게 풀 리퀘스트(=PR)를 요청합니다
[팀장] 코드 리뷰을 시행합니다.
팀장/리뷰어는 PR 내용과 코드를 확인 한 뒤 수정이 필요한 부분은 comment로 수정 요청을 진행합니다.
내용을 받은 팀원은 코드를 수정한 뒤 커밋 & 푸시를 합니다.
그럼 Github에서 알아서 이전에 작성한 PR의 맨 마지막으로 해당 커밋을 연동 해 줍니다.
팀원은 수정 완료한 작업에 대해서 "Resolve conversation" 버튼을 눌러 완료됨을 알려줍니다.
4단계 : 최종적으로 브랜치를 병합합니다.
문제가 없는 PR이거나, 수정이 완료된 PR에 대해서는 팀장/리뷰어가 최종적으로 브랜치 merge(병합)을 진행합니다.


브랜치 구성 방식
다양한 브랜치 전략이 있지만, 기본적으로 많이 사용하는 Git Flow 구조로 설명 합니다
- 주요 브랜치
- main : github 저장소를 생성하면 만들어지는 기본 브랜치, 주로 서비스를 배포할 때 사용하는 브랜치 입니다. 항상 안정적인 상태를 유지해야 합니다.
- develop : 다음 배포를 위한 개발 브랜치 입니다. 배포 전 신규 기능 / 버그 / 수정사항등 실제 개발 작업에 관련된 브랜치가 모여 해당 브랜치에서 병합 됩니다.
- 보조 브랜치
- feature : 새로운 기능이 구현되는 브랜치로, feature/기능명 으로 명칭을 사용합니다.
- release: 배포 준비를 위한 테스트 배드용 브랜치로, 버전 정리·QA·경미한 수정만 진행 합니다
- hotfix: 배포 후 급한 오류를 바로 고치는 브랜치로, main에서 분기 후 코드를 수정하고 다시 main과 dev에 반영합니다.
- 선택적 브랜치
- bugfix : 개발 도중 발견된 오류를 해결하는 작업을 하는 브랜치로, feature에서 분기되어 만들어 집니다.

2. [실무] GitHub 팀 협업 상황 별 명령어 모음 - 순서대로 사용
1) 초기 셋팅하기 : 팀 작업 전체 과정에서 1번만 작업하면 됨
(팀 저장소를 Fork 해서 clone URL을 가지고 있는 상태)
# 1️⃣ 팀 저장소를 바로 가져오는것이 아니라 내 저장소로 Fork 해 온 저장소를 연결
git clone Fork해온-내-저장소-URL
# 2️⃣ 작업 할 폴더로 이동
cd 프로젝트 폴더
# 3️⃣ 팀 저장소를 추가로 저장하여, 전체 코드가 업데이트 될 때마다 사용
git remote add upstream 팀-저장소-URL
# 4️⃣ 저장소 URL이 각각 잘 셋팅 되어 있는지 확인
git remote -v
# origin : 내 저장소 URL
# upstream : 팀 저장소 URL
# 5️⃣ 내 작업을 업로드 할 브랜치를 새로 생성
git switch -b feature/기능명
# 6️⃣ 셋팅 한 브랜치 확인
git branch
# main : 기본 브랜치
# feature/기능명 : 방금 생성한 브랜치로, 해당 브랜치가 선택(컬러) 되어 있어야 함
2) 작업 중간에 팀 저장소의 최신 내용 반영하기
# 1️⃣ 팀 레포의 최신 내용 전부 가져오기
git fetch upstream
# 2️⃣ 내가 작업 중인 feature 브랜치로 이동
git switch feature/기능명
# 3️⃣-1 merge 방식 : 팀 레포의 feature 브랜치를 내 브랜치에 합치기
git merge upstream/feature
# 3️⃣-2 rebase 방식 : 팀 레포의 feature 브랜치를 하나의 라인으로 깔끔하게 합치는 방식
git rebase upstream/feature
# 팀 레포의 브랜치가 develop 또는 다른 브랜치 일 경우
# 아래와 같이 합칠 브랜치 명을 수정
upstream/develop
upstream/브랜치명
3) 개인 저장소로 작업물 저장하기
# 1️⃣ 작업한 파일 스테이징 하기(전체 또는 특정 파일만)
git add .
git add src/폴더명/파일명
# 2️⃣ 스테이징에 올린 파일에 대해 저장(커밋)하기
git commit -m "커밋 메세지 작성"
[선택사항] 업로드 전 upstream(팀 저장소) 기준으로 최신 작업물 반영
(언제 최신 파일로 변경 됬을지 모르므로, 가능하면 꼭 하기)
# 3️⃣ 내 저장소로 업로드 하기
git push origin feature/기능명
# branch가 동일하면 git push만 해줘도 괜찮지만
# 안전하게 업로드 하기 위하여 가능하면 뒷부분까지 모두 작성을 추천
📃 내일은 뭘 배울까 🤔
- 팀 작업 최종 발표
- Prisma ORM 문법 공부
'코드잇 Node.js(BE) 부트 캠프 > TIL (Today I Learn) 📑' 카테고리의 다른 글
| [ TIL ] Day 41 + 해싱솔트, bcrypt 모듈, 유저 기능 세션 / 토큰 (0) | 2025.11.23 |
|---|---|
| [ TIL ] Day 40 & 41 - 인증과 인가 / 쿠키, 세션, 토큰, OAuth (0) | 2025.11.21 |
| [ TIL ] Day 38 - Git / GitHub 브랜치 (0) | 2025.11.18 |
| [ TIL ] Day 37 - Git / GitHub 기본 명령어 (1) | 2025.11.17 |
| [ TIL ] Day 36 - Javascript와 친구들👥 node.js / express.js / npm 등등 (0) | 2025.11.14 |