GitHub협업 가이드
바이브코더가 Claude Code, Codex, Cursor 같은 AI 코딩 도구를 쓰더라도 협업의 기준점은 GitHub입니다. 이 문서는 비개발자도 따라올 수 있도록 GitHub의 말을 일상어로 바꾸고, AI에게 그대로 붙여넣을 수 있는 프롬프트 중심으로 협업 절차를 정리합니다.
01GitHub 말을 일상어로 번역하기
GitHub는 어렵다기보다 낯선 말이 많습니다. 아래 단어만 알아도 AI에게 일을 맡기고 팀원과 이야기하는 데 큰 문제가 없습니다.
프로젝트 폴더가 GitHub에 올라간 것. 문서, 코드, 이미지, 설정 파일이 함께 들어 있습니다.
팀이 인정한 최종본 줄기입니다. 직접 고치지 않고 작업용 branch에서 바꾼 뒤 PR로 합칩니다.
최종본을 망가뜨리지 않고 실험하는 작업 복사본입니다. 기능, 수정, 문서 작업마다 따로 만듭니다.
작업 저장 지점입니다. "무엇을 왜 바꿨는지" 짧은 메시지를 붙입니다.
내 컴퓨터의 커밋을 GitHub에 올리는 일입니다. 올려야 팀원이 볼 수 있습니다.
GitHub에 올라온 최신 변경을 내 컴퓨터로 내려받는 일입니다. 작업 전 습관처럼 합니다.
해야 할 일, 버그, 질문을 적어두는 작업 카드입니다. "무엇을 할지" 합의하는 장소입니다.
"이 변경을 main에 합쳐도 될까요?"라고 팀에 보여주는 검토 요청서입니다.
팀원이 PR을 보고 질문, 수정 요청, 승인을 남기는 과정입니다.
검토가 끝난 PR을 main에 합치는 일입니다. 보통 담당자나 리뷰어가 누릅니다.
두 사람이 같은 파일의 같은 부분을 다르게 고쳐서 Git이 자동으로 합치지 못하는 상황입니다.
남의 레포를 내 계정으로 복사하는 방식입니다. 팀 내부보다 외부 프로젝트 참여에 더 자주 씁니다.
02팀 프로젝트의 기본 흐름
소규모 팀이나 수업 프로젝트에서는 한 레포에 팀원을 초대하고, 각자 branch를 만든 뒤 PR로 합치는 방식이 자연스럽습니다. GitHub 공식 문서도 이 방식을 작은 팀과 조직의 private project에 흔한 모델로 설명합니다.
한 줄 원칙: main은 바로 고치지 않습니다. 작업마다 branch를 만들고, AI가 만든 변경도 PR에서 사람이 확인한 뒤 합칩니다.
03처음 한 번만 하는 설정
GitHub 계정, Git, GitHub CLI가 준비되어야 합니다. 이 문서는 CLI 기준이므로 gh 명령어를 사용합니다.
GitHub CLI 로그인
이 단계는 직접 실행하세요. 브라우저 인증과 계정 권한이 걸려 있으므로 AI에게 토큰이나 인증 코드를 맡기지 않습니다.
gh auth login --web gh auth status
Git 사용자 이름과 이메일 확인
git config --global user.name git config --global user.email
값이 비어 있으면 아래처럼 설정합니다. 이메일은 GitHub 계정 이메일 또는 GitHub의 private noreply 이메일을 사용해도 됩니다.
git config --global user.name "내 GitHub 이름" git config --global user.email "내이메일@example.com"
AI에게 환경 점검시키기
이 컴퓨터에서 GitHub 협업을 할 준비가 되었는지 확인해줘. 다음 항목을 검사하고, 부족한 것이 있으면 설치/설정 방법을 초보자도 이해할 수 있게 안내해줘. 확인할 것: 1. git 설치 여부와 버전 2. gh(GitHub CLI) 설치 여부와 버전 3. gh auth status 로그인 여부 4. git user.name / user.email 설정 여부 5. 현재 작업 폴더 위치 주의: - 내 GitHub 인증 코드, 토큰, 비밀번호는 절대 대신 입력하지 마. - 실제 변경 명령을 실행하기 전에는 어떤 명령을 실행할지 먼저 보여줘.
04프로젝트를 내 컴퓨터로 가져오기
팀원이 이미 GitHub 레포를 만들고 여러분을 collaborator로 초대했다면, 초대 수락 후 clone부터 시작합니다.
-
레포 주소를 받습니다.
예:
github.com/team-name/project-name또는OWNER/REPO -
GitHub CLI로 clone합니다.
내 컴퓨터에 프로젝트 폴더가 생깁니다.
-
설치와 실행은 프로젝트마다 다릅니다.
README.md,package.json,pyproject.toml같은 파일을 AI에게 읽히면 빠릅니다.
gh repo clone OWNER/REPO cd REPO
이 저장소를 처음 보는 사람에게 설명하듯이 구조를 파악해줘. 원하는 출력: 1. 이 프로젝트가 무엇을 하는지 한 문단 요약 2. 중요한 폴더와 파일 목록 3. 로컬에서 실행하는 명령어 4. 테스트 또는 빌드 명령어 5. 내가 함부로 건드리면 위험한 파일 아직 파일을 수정하지 말고, 읽고 설명만 해줘.
README와 설정 파일을 보고 이 프로젝트를 로컬에서 실행해줘. 진행 방식: 1. 먼저 실행할 명령어 목록을 보여줘. 2. 내가 승인하면 설치와 실행을 진행해. 3. 개발 서버가 켜지면 접속 URL을 알려줘. 4. 오류가 나면 오류 원인과 해결 후보를 쉬운 말로 설명해줘.
05일감은 issue로 작게 쪼개기
바이브코딩에서 가장 흔한 실패는 AI에게 너무 큰 일을 한 번에 던지는 것입니다. GitHub issue는 "이번에 딱 무엇을 할지" 정하는 장치입니다.
좋은 issue
- 한 번에 끝낼 수 있는 크기
- 완료 조건이 눈에 보임
- 화면, 파일, 데이터 범위가 분명함
나쁜 issue
- "전체 개선", "예쁘게 만들기"처럼 범위가 큼
- 성공 기준이 없음
- AI가 어디까지 바꿔도 되는지 불명확함
협업에 좋은 단위
- issue 1개
- branch 1개
- PR 1개
CLI로 issue 만들기
gh issue create \ --title "로그인 화면의 오류 메시지를 더 이해하기 쉽게 바꾸기" \ --body "목표: 로그인 실패 시 사용자가 다음 행동을 알 수 있게 문구를 수정한다. 완료 조건: - 비밀번호 오류와 네트워크 오류 문구가 구분된다. - 모바일 화면에서 문구가 버튼과 겹치지 않는다. - 관련 스크린샷을 PR에 첨부한다."
다음 아이디어를 GitHub issue로 쪼개줘. 아이디어: [여기에 만들고 싶은 기능이나 개선 내용을 붙여넣기] 출력 형식: 1. issue 제목 2. 배경 3. 작업 범위 4. 완료 조건 5. 건드릴 가능성이 있는 파일 6. 너무 커 보이면 더 작은 issue로 나누기 비개발자도 이해할 수 있는 말로 써줘.
06AI와 branch에서 작업하기
AI에게 코드를 맡길 때도 작업 공간은 branch입니다. branch 이름은 짧고 설명적으로 짓습니다.
예: fix-login-error-copy, feat-profile-card, docs-github-guide
작업 전 최신 상태로 맞추기
git switch main git pull git switch -c fix-login-error-copy
AI에게 일을 시키는 기본 프롬프트
현재 branch에서 issue #[번호] 작업을 진행해줘. 작업 목표: [무엇을 바꿀지 적기] 제약: - issue 범위를 벗어난 리팩터링은 하지 마. - 관련 없는 파일 포맷팅은 하지 마. - 비밀키, 토큰, .env 파일은 읽거나 출력하지 마. - 큰 변경이 필요하면 먼저 나에게 이유를 설명하고 승인받아. 진행 방식: 1. 먼저 수정할 파일과 작업 계획을 5줄 이내로 말해줘. 2. 내가 승인하면 수정해. 3. 수정 후 git diff 요약과 확인 방법을 알려줘.
작업 중간에 AI를 멈추고 확인시키기
지금까지 변경한 내용을 멈추고 점검해줘. 출력: 1. 변경된 파일 목록 2. 각 파일에서 바뀐 이유 3. issue 범위를 벗어난 변경이 있는지 4. 내가 브라우저에서 확인해야 할 화면 또는 동작 5. 다음으로 할 일 아직 commit하지 마.
중요: AI가 "다 고쳤다"고 말해도 바로 믿지 않습니다. git diff, 화면 확인, 테스트 명령어 중 최소 하나는 직접 확인합니다.
07커밋과 푸시
commit은 팀원에게 보여주는 작업 저장 지점입니다. AI가 많은 파일을 바꿨다면 더더욱 관련 변경만 골라서 commit해야 합니다.
변경 확인
git status git diff
AI에게 commit 전 검토시키기
git status와 git diff를 바탕으로 commit 전에 검토해줘. 출력: 1. 이번 변경 요약 2. 관련 없는 변경이 섞였는지 3. 위험하거나 되돌려야 할 변경 후보 4. 실행해야 할 테스트/빌드 명령 5. 추천 commit 메시지 3개 아직 git add나 commit은 하지 마.
commit과 push
git add 파일경로1 파일경로2 git commit -m "fix: clarify login error message" git push -u origin fix-login-error-copy
이번 issue와 관련된 변경만 stage하고 commit해줘. 조건: - 먼저 git status와 git diff를 확인해. - 관련 없는 파일이 있으면 stage하지 말고 나에게 물어봐. - commit 메시지는 "type: 짧은 설명" 형식으로 제안하고, 내가 승인하면 commit해. - commit 후 push까지 진행해. 추천 type: feat, fix, docs, style, refactor, test, chore
08Pull Request 만들기
PR은 결과물 자랑이 아니라 검토 요청서입니다. 팀원이 빠르게 이해하도록 "왜, 무엇을, 어떻게 확인하면 되는지"를 씁니다.
CLI로 PR 만들기
gh pr create \ --base main \ --head fix-login-error-copy \ --title "fix: clarify login error message" \ --body "## 요약 - 로그인 실패 메시지를 상황별로 구분했습니다. - 모바일 화면에서 문구가 버튼과 겹치지 않도록 간격을 조정했습니다. ## 확인 방법 - 잘못된 비밀번호로 로그인 시도 - 네트워크를 끄고 로그인 시도 - 모바일 폭에서 오류 문구 확인 Closes #12"
AI에게 PR 본문 초안 만들게 하기
현재 branch의 변경사항으로 GitHub PR 제목과 본문 초안을 만들어줘. 참고할 것: - git log main..HEAD - git diff main...HEAD - 연결된 issue가 있으면 issue 내용 본문 형식: ## 요약 - ## 변경한 이유 - ## 확인 방법 - [ ] ## 스크린샷 또는 결과 - 필요하면 어떤 화면을 캡처해야 하는지 알려줘. ## 리뷰어에게 묻고 싶은 점 - 주의: - 과장하지 말고 실제 변경한 내용만 써. - 내가 실행하지 않은 테스트를 실행했다고 쓰지 마.
- 좋은 PR 제목
fix: clarify login error message,feat: add profile preview card,docs: add setup guide- 나쁜 PR 제목
update,final,AI가 수정함,여러가지 고침
09리뷰 받고 수정하기
리뷰는 혼나는 과정이 아니라 main에 들어가기 전에 서로 확인하는 과정입니다. PR의 Conversation, Commits, Checks, Files changed 탭을 차례로 보면 상황을 이해하기 쉽습니다.
작성자가 할 일
- 작은 PR로 올리기
- 확인 방법 쓰기
- 스스로 diff 먼저 보기
- 리뷰 댓글에 답하거나 수정하기
리뷰어가 볼 것
- issue 범위를 지켰는지
- 화면이나 기능이 실제로 동작하는지
- 관련 없는 변경이 섞였는지
- 읽기 어려운 코드나 설명이 있는지
수정 요청이 오면
- 새 branch를 만들지 않습니다.
- 같은 branch에서 수정합니다.
- commit 후 push하면 기존 PR이 자동 업데이트됩니다.
리뷰 댓글을 AI에게 정리시키기
PR 리뷰 댓글을 보고 수정 계획을 세워줘. 입력: [리뷰 댓글을 붙여넣기] 출력: 1. 반드시 수정해야 하는 항목 2. 질문에 답하면 되는 항목 3. 수정할 파일 후보 4. 각 항목의 위험도 5. 내가 리뷰어에게 답글로 남길 문장 초안 아직 코드는 수정하지 마.
수정 후 다시 push
git status git add 파일경로 git commit -m "fix: address review feedback" git push
main 최신 변경 반영하기
git switch main git pull git switch 내-작업-브랜치 git merge main
10fork는 언제 쓰나
fork는 팀 내부 협업의 기본값이 아닙니다. 보통 권한이 없는 외부 프로젝트에 기여하거나, 원본과 독립된 실험 공간이 필요할 때 씁니다.
공동 레포 branch 방식
- 팀원이 같은 레포에 초대되어 있음
- 수업, 동아리, 작은 팀 프로젝트에 적합
- PR은 같은 레포의 branch끼리 생성
fork 방식
- 원본 레포에 push 권한이 없음
- 오픈소스나 외부 프로젝트 참여에 적합
- 내 계정의 fork에서 작업 후 원본으로 PR
fork 방식 명령 예시
gh repo fork OWNER/REPO --clone --remote cd REPO git switch -c fix-small-typo # 작업 후 git add . git commit -m "docs: fix typo" git push -u origin fix-small-typo gh pr create --repo OWNER/REPO --base main --head 내아이디:fix-small-typo
11바이브코더 협업 규칙
AI를 쓰면 속도는 빨라지지만, 변경 범위가 커지고 의도를 놓치기 쉽습니다. 아래 규칙은 팀 프로젝트에서 사고를 줄이는 기본선입니다.
작업 규칙
- 작업 전
git pull - 작업마다 새 branch
- PR은 작게
- AI에게 먼저 계획을 말하게 하기
확인 규칙
- commit 전
git diff - PR 전 직접 실행 또는 화면 확인
- 테스트하지 않았으면 테스트했다고 쓰지 않기
- AI가 만든 설명은 사람이 고쳐 쓰기
금지 규칙
- main에 직접 push하지 않기
- 비밀키와 토큰을 AI에게 붙여넣지 않기
- 의미 모를 대량 변경을 한 PR에 넣지 않기
reset --hard, force push는 혼자 결정하지 않기
PR 올리기 전 체크리스트
12자주 막히는 상황
막혔을 때는 에러 메시지를 지우지 말고 그대로 복사해서 AI에게 설명을 요청합니다.
gh: command not found
GitHub CLI가 설치되어 있지 않습니다.
현재 운영체제에 GitHub CLI(gh)를 설치하는 방법을 안내해줘. 가능하면 공식 설치 방법을 기준으로 하고, 설치 후 gh --version과 gh auth status 확인까지 도와줘.
fatal: not a git repository
현재 위치가 Git 프로젝트 폴더가 아닙니다. pwd, ls로 위치를 확인하고 clone한 폴더로 이동합니다.
pwd ls cd REPO
push가 거절됩니다
대부분 원격 저장소에 새 변경이 먼저 올라왔거나, 내 branch에 push 권한이 없을 때 발생합니다.
git push가 실패했습니다. 아래 에러를 읽고 원인을 설명해줘. [에러 메시지 붙여넣기] 원하는 출력: 1. 원인 2. 안전한 해결 순서 3. 실행할 명령어 4. 작업 내용이 사라질 위험이 있는 명령어가 있다면 경고
merge conflict가 났습니다
같은 부분을 서로 다르게 고친 상황입니다. 먼저 충돌 파일을 확인하고, 어떤 내용을 살릴지 결정합니다.
merge conflict가 났습니다. 먼저 충돌 파일 목록을 확인하고, 각 충돌 블록에서 양쪽 변경이 무엇을 의미하는지 비개발자도 이해하게 설명해줘. 내가 어떤 쪽을 선택할지 결정할 수 있게 선택지를 제시해줘. 주의: - 내가 선택하기 전에는 파일을 수정하지 마. - 해결 후에는 어떤 테스트를 해야 하는지 알려줘.
AI가 너무 많은 파일을 바꿨습니다
바로 commit하지 말고 변경 목록부터 분리합니다.
이번 변경이 너무 커졌습니다. git diff를 보고 변경을 분류해줘. 분류: 1. issue와 직접 관련 있는 변경 2. 관련은 있지만 별도 PR로 빼는 게 좋은 변경 3. 되돌리는 게 좋은 변경 각 분류별 파일 목록과 이유를 알려줘. 아직 되돌리거나 commit하지 마.
되돌리고 싶습니다
되돌리기는 작업 단계에 따라 방법이 다릅니다. commit 전과 commit 후를 구분해야 합니다.
작업을 되돌리고 싶습니다. 먼저 현재 상태를 확인해줘: - git status - git log --oneline -5 - git diff 그 다음 내 상황이 commit 전인지, commit 후인지, push 후인지 구분해서 가장 안전한 되돌리기 방법을 설명해줘. 작업이 사라지는 명령은 실행하기 전에 반드시 나에게 확인받아.
13참고 문서
이 자료는 아래 공식 문서를 기준으로 협업 흐름을 일반 수업용으로 다시 설명했습니다.