실전 프로젝트 D+2
오늘 한 일
- EDA 분석 결과 정리 & 모델링 기초 준비
- (※ EDA/모델링 세부적인 내용은 스포 방치 자원에서 🤫 ...)
- 팀 협업용 Git/GitHub 매뉴얼 작성 & 공유
- 등등...
1. Git/GitHub 협업 매뉴얼을 만든 이유
1일차엔 개인 분석과 인사이트 도출에 집중했다면,
2일차부터는 하나의 레포지토리에서 코드를 병합하는 본격적인 팀 협업 단계에 진입했따
팀원 간 Git 숙련도가 달라서 규칙 없이 작업할 경우 코드 충돌(Conflict) 이나 작업물 덮어쓰기 참사가 발생할 위험이 크다고 판단했기 때문에 팀 전체가 참고할 수 있는 표준 협업 매뉴얼을 작성해 공유함.
(잘 작성한 거 같아서 오늘 TIL에 적어보려구여 ^^ 이것도 중요한 배움이라 생각하기 때문에^^..)
[ GitHub 프로젝트 협업 및 Git 사용 매뉴얼 ]
📌 기본 규칙 (필독!)
- main (또는 master) 브랜치에 직접 커밋/푸시 금지
- 모든 작업은 개인 작업 브랜치(feature/이름)에서 진행합니다.
- 대용량 파일(100MB 이상, CSV 등)은 깃허브에 올리지 않기
- 100MB가 넘으면 Push 시 에러가 발생합니다.
- .gitignore 파일에 작성하여 깃 추적에서 제외합니다.
- 작업 시작 전 항상 최신 코드 가져오기 (git pull)
💻 0. 시작 전: VSCode 터미널 여는 법
매뉴얼에 나오는 모든 git ~ 명령어들은 VSCode 터미널 화면에 직접 입력하고 Enter를 누르는 겁니다!
📌 터미널 열기 (2가지 방법 중 편한 것 사용)
- 단축키 이용 (추천):
- 윈도우 : Ctrl + ~ (키보드 숫자 1 왼쪽 물결표 버튼)
- Mac : Control + ~
- 상단 메뉴 이용: VSCode 상단 메뉴바에서 Terminal → New Terminal (또는 터미널 → 새 터미널) 클릭
💡 참고: 터미널을 열면 화면 아래쪽에 검은색(또는 파란색) 창이 열리면서 PS C:\...\프로젝트명> 과 같은 입력창이 뜹니다. 거기에 명령어를 복붙해서 실행하면 됩니다.
🚀 1. 프로젝트 최초 시작하기 (Clone)
깃허브 레포지토리를 내 컴퓨터로 처음 가져올 때 사용합니다.
(명령어 순서대로 터미널에 입력 후 Enter!)
# 1. 원격 저장소 클론
git clone <https://github.com/계정명/레포지토리명.git>
# 2. 클론받은 폴더로 이동
cd 레포지토리명
# 3. 현재 폴더를 VSCode로 열기
code .
🌿 2. 개인 작업 브랜치 만들고 이동하기
독립된 작업 공간(브랜치)을 생성하여 작업합니다.
# 깃허브 최신 브랜치 정보 불러오기
git fetch origin
# 개인 브랜치 생성 및 이동 (예: feature/inji)
git checkout -b feature/본인이름
💡 참고: 한글 브랜치명은 웹 브라우저 자동 번역 기능이나 터미널 환경에 따라 깨질 수 있으니 영문 작성(feature/(영어 이름))을 권장합니다.
📤 3. 내 작업 내용 깃허브에 올리기 (Push)
코드 수정이나 파일 추가 후 깃허브에 업로드할 때의 표준 순서입니다.
# 1. 변경된 모든 파일 선택 (스테이징)
git add .
# 2. 커밋 메시지 작성 (어떤 작업을 했는지 명확히 기록)
git commit -m "feat: (작업 내용 직접 작성)"
# 3. 깃허브 내 브랜치로 푸시
git push -u origin feature/본인이름
🔀 4. 내 작업 메인(main)에 합치기 (PR: Pull Request)
내 브랜치에서 작업한 내용(git push)을 팀 전체의 main 브랜치로 병합(Merge)하는 과정입니다.
📌 PR 올리는 순서
- GitHub 웹사이트(레포지토리 메인) 접속
- Push 완료 후 상단에 생성되는 Compare & pull request 초록색 버튼 클릭.
- PR 내용 작성
- Title (제목): 작업 내용 명확히 작성 (예: feat: 델타체크 EDA 분석 노트북 추가)
- Description (본문): 세부 작업 내용 및 공유사항 작성
- Create pull request 클릭
- 메인에 병합 (Merge)
- PR 페이지 하단의 초록색 Merge pull request → Confirm merge 클릭 시 main 브랜치로 합쳐집니다.
🔄 5. 깃허브 메인 코드 내 브랜치로 가져오기 (Pull)
다른 팀원이 올린 최신 코드를 내 작업 공간에 반영할 때 사용합니다.
# 1. main 브랜치로 이동
git checkout main
# 2. 깃허브의 최신 main 코드 받아오기
git pull origin main
# 3. 다시 내 작업 브랜치로 이동
git checkout feature/본인이름
# 4. 최신 main 코드를 내 브랜치에 병합
git merge main
🤖 6. 에러 발생 시 AI(ChatGPT/Gemini 등) 활용 프롬프트
Git 에러나 파이썬 코딩 에러가 났을 때 AI한테 빠르게 해결책을 얻는 방법입니다.
(혼자 해결하려고 시간 들이면서 끙끙거리는 것보다… 얘네한테 물어보는 게 훨씬 빠르고 효율적이고 정확합니다~)
📋 AI에게 질문하는 템플릿 (복붙용)
AI한테 물어볼 때 아래 양식 그대로 복사해서 에러 문구와 터미널 화면을 같이 넘겨주면 정확한 명령어를 바로 알려줍니다.
[상황 설명]
VSCode 터미널에서 Git 작업 중(또는 파이썬 코드 실행 중) 아래와 같은 에러가 발생했습니다.
내 현재 브랜치는 [내 브랜치명 (예: feature/inji)] 이고, [윈도우 OS / MAC 환경]입니다.
[발생한 에러 코드/문구]
(여기에 터미널에 뜬 빨간색/흰색 에러 메시지 전체 복사해서 붙여넣기)
[요청 사항]
1. 발생한 원인이 무엇인지 쉬운 한 줄로 설명해 주세요.
2. 터미널에 바로 복사해서 붙여넣을 수 있는 해결 명령어(순서대로)를 알려주세요.
팁: 에러 텍스트만 복사하기 귀찮을 땐 VSCode 터미널 화면 자체를 캡처(Win + Shift + S)해서 AI 대화창에 바로 짤로 올려버려도 다 알아듣고 답해줍니다! (유료 요금제 사용중이라 토큰 낭낭하면 이쪽을 추천)
⚠️ 7. 자주 발생하는 에러 & 해결법
Q1. 대용량 파일(CSV 등) 때문에 Push가 안 될 때
원인: 깃허브는 단일 파일 100MB 제한이 있어 2GB가 넘는 CSV 파일 등은 거부됩니다.
해결법:
- 프로젝트 루트의 .gitignore 파일 열기
- 용량 큰 파일명 또는 확장자 추가:Plaintext
- *.csv 대용량데이터.csv
- 깃 추적 메모리에서 삭제 후 다시 커밋:Bash
- git rm -r --cached . git add . git commit -m "fix: 대용량 데이터 gitignore 처리" git push origin feature/본인이름
Q2. PowerShell에서 rm -rf 명령어가 안 먹힐 때
원인: Windows PowerShell은 Linux 명령어인 rm -rf를 지원하지 않습니다.
해결법:
- PowerShell 전용 명령어 사용:PowerShell
- Remove-Item -Recurse -Force 폴더명
- 또는 윈도우 파일 탐색기에서 숨김 항목 보기 켜고 직접 삭제
2. 매뉴얼 핵심 내용
- 작업 전 git pull 필수: 최신 코드 수신하여 충돌 사전 예방
- 브랜치 전략 수립: feature/이름 개인 브랜치에서만 작업 (main 직접 푸시 금지)
- .gitignore 설정: 100MB 이상 대용량 파일(CSV 등) 업로드 에러 미리 방지
- PR(Pull Request) 기반 병합: 팀원 간 코드 리뷰 거친 후 main 브랜치에 반영
- AI 에러 해결 템플릿 제공: [에러 문구 + 브랜치명 + OS 환경] 입력 시 바로 해결 명령어를 받을 수 있도록 양식화
3. 작성하며 느낀 점...?
- 안전한 실험실 구축: 브랜치가 분리되어 있으니 실험적인 코드 수정도 부담 없이 시도 가능
- 히스토리 트래킹: PR 리뷰 프로세스 덕분에 "누가, 왜 코드를 바꿨는지" 자연스럽게 기록으로 남게 된다.
- 문서화의 효율성: 팀원이 에러를 만났을 때 매뉴얼 링크 하나 전달하는 것으로 설명 시간 절약
Git/GitHub은 단순 코드 백업 도구'가 아니라, 안전하고 효율적인 개발을 위한 '필수 협업 안전장치' !
문서화의 힘...
개인의 지식을 팀 전체의 자산으로 만들면 반복 커뮤니케이션 비용이 줄고 전체 속도가 빨라짐.
앞으로도 새 규칙이나 세팅은 항상 팀 노션에 세 페이지 파서 지속적으로 남길 예정!

'Today I Learned' 카테고리의 다른 글
| [내일배움캠프 QA/QC 6기] TIL #058 (0) | 2026.08.06 |
|---|---|
| [내일배움캠프 QA/QC 6기] TIL #057 <<< AI >>> (0) | 2026.08.04 |
| [내일배움캠프 QA/QC 6기] TIL #054 (0) | 2026.07.29 |
| [내일배움캠프 QA/QC 6기] TIL #053 (1) | 2026.07.28 |
| [내일배움캠프 QA/QC 6기] TIL #052 (0) | 2026.07.27 |