바이브코더를 위한 Git, GitHub 입문

25.09.12 / JUN

  • P1. GitHub 실무활용을 위한 10대 핵심기능
  • P2. Git, GitHub 실무활용 워크북
  • P3. 바이브코더의 GitHub 시작하기
  • P4. GitHub 실무활용 워크북
  • P5. 팀 프로젝트 협업 방식 비교: Git Flow vs. Trunk

GitHub는 바이브코더가 자신의 아이디어와 코드를 세상과 연결하는 첫 번째 창구입니다. 단순히 코드를 저장하는 공간을 넘어, 프로젝트의 발전 과정을 기록하고 협업할 수 있는 무대이기도 합니다.

혼자 실습할 때는 버전 관리와 학습 이력을 남기는 도구로, 팀과 함께할 때는 브랜치와 풀 리퀘스트를 활용해 서로의 작업을 안전하게 합치는 협업 플랫폼으로 기능합니다. 또한 오픈소스 생태계에 참여할 수 있는 기회를 제공해, 다른 사람의 코드를 배우고 기여하며 성장할 수 있습니다.

즉, GitHub는 바이브코더에게 ‘나만의 프로젝트를 세상과 공유하고 협업하며 성장하는 디지털 포트폴리오’라 할 수 있습니다.


P1. 바이브코더의 GitHub 실무활용을 위한 10대 핵심기능

기능 요소설명입문자 활용 포인트
Repository (저장소)프로젝트 코드와 파일을 저장하는 공간연습 프로젝트/팀 프로젝트별로 Repo 생성
Branch (브랜치)메인 코드에서 분리된 독립 작업 공간새로운 기능·수정을 안전하게 시도
Commit (커밋)코드 변경 사항을 저장하는 기록 단위자주 커밋해 코드 변경 이력을 남기기
Push로컬 코드 변경을 GitHub 원격 저장소에 업로드수정 후 반드시 Push해 클라우드에 반영
Pull원격 저장소의 최신 코드를 로컬로 가져오기팀 협업 시 동기화 필수
Merge (병합)브랜치에서 작업한 코드를 Main에 합치기기능 개발 후 안정화된 코드만 병합
Pull Request (PR)브랜치 병합 전 코드 변경 사항 검토 요청협업 시 코드 리뷰와 승인 절차에 활용
CloneGitHub 저장소를 로컬 환경에 복제다른 사람의 Repo를 가져와 학습·실습
Fork다른 사람의 Repo를 자신의 계정에 복사오픈소스 기여 시작점으로 활용
Issues버그, 개선 사항, 작업 요청을 관리팀 협업 시 작업할 항목 관리·기록

P2. 바이브코더를 위한 Git, GitHub 실무 활용 워크북


1. 깃(Git)과 깃허브(GitHub) 이해하기

  • 깃(Git): 파일과 프로젝트의 버전을 기록하고 관리하는 도구
  • 깃허브(GitHub): 깃으로 관리되는 코드를 **온라인 저장소(클라우드)**에 보관하고 공유하는 서비스
  • 관계: 내 컴퓨터(Git) ---- 푸시(push) ----> 깃허브(GitHub)
  • 쉽게 말해, 깃은 버전관리 노트이고 깃허브는 온라인 공유 노트북

2. Git 설치하기

  • Windows: Git 공식 다운로드 → 설치 시 기본 옵션으로 진행
  • Mac: Homebrew 설치 후 brew install git

3. 프로젝트 준비하기

  1. VS Code / Cursor와 같은 에디터 실행
  2. 작업할 폴더 열기
  3. 터미널 실행 (에디터 하단 Terminal 탭)

4. Git 시작하기 (최초 1회 설정)

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
  • 커밋(Commit)을 누가 했는지 기록하기 위한 사용자 정보

5. Git 저장소 만들기

git init
  • 현재 폴더를 깃 관리 시작
  • .git 폴더가 생성되며 버전 관리가 가능해짐

6. 첫 번째 파일 만들기

  1. 에디터에서 app.txt 파일 생성
  2. 간단히 "Hello Git!" 같은 텍스트 입력 후 저장

7. Git에 작업 내역 기록하기

# 1) 변경된 파일을 스테이징
git add app.txt

# 2) 변경 내용을 저장(커밋)
git commit -m "첫 파일 생성 및 텍스트 입력"

파일 흐름 이해

내 폴더(My Folder) 
   ↓ git add
스테이징 영역(Staging Area)
   ↓ git commit
내 저장소(My Repository)

8. GitHub에 업로드하기

  1. GitHub 접속 → 새 리포지토리(New Repository) 생성
    • 이름: my-first-repo
  2. 터미널에서 원격 저장소 연결 git remote add origin https://github.com/<아이디>/my-first-repo.git
  3. 깃허브에 코드 푸시 git branch -M main git push -u origin main

9. 핵심 명령어 정리 (입문자용)

명령어설명
git init현재 폴더를 깃 저장소로 초기화
git status변경 사항 확인
git add <파일>파일을 스테이징 영역에 추가
git commit -m "메시지"변경 기록(커밋) 남기기
git log --oneline커밋 히스토리 간단히 보기
git remote add origin <URL>깃허브 원격 저장소 연결
git push origin main내 커밋을 깃허브로 올리기
git pull origin main깃허브에서 최신 코드 내려받기

10. 연습 미션

  1. app.txt 파일에 오늘의 할 일 3줄 적기
  2. git add + git commit으로 기록 남기기
  3. 깃허브 원격 저장소와 연결 후 git push로 업로드
  4. 깃허브 웹에서 업로드 확인

P3. 바이브코더의 GitHub 시작하기

1. GitHub 시작하기

  • GitHub는 소프트웨어·웹앱 개발에서 가장 기본적인 협업 플랫폼
  • 대부분의 기능은 무료로 사용 가능
  • 유료는 팀/조직 관리 시 필요 ($4/seat 수준)
  • 계정 가입 후 프로필에서 활동 내역 확인 가능

2. 깃허브 활용 출발점: 저장소(Repository)

  • 저장소(Repo)는 코드를 저장하는 클라우드 공간
  • IDE(예: VS Code, Cursor)에서 작성한 코드를 업로드 가능
  • Public Repo: 누구나 열람·복제 가능
  • Private Repo: 본인과 지정 사용자만 접근 가능

3. 프로필 작성하기

  • 프로필 화면에서 자신의 모든 저장소 확인
  • Contributions(초록색 점): 특정 날짜에 커밋한 기록
  • 활동 그래프로 학습·개발 패턴 확인 가능
  • 꾸준한 기여는 포트폴리오 역할도 함

4. 새로운 저장소 만들기

  • 저장소 이름 설정 (프로젝트명/연습용 등)
  • Public 또는 Private 선택
  • 초기화 옵션: README, .gitignore 추가 가능
  • IDE와 연결하면 코드 관리 효율 상승

5. 브랜치(Branch)의 개념

  • Main Branch: 안정적인 기본 코드 버전
  • Branch 생성: 기존 코드를 복제해 독립된 작업 공간 생성
  • 새로운 기능·수정은 브랜치에서 진행
  • 문제가 생기면 브랜치 삭제 → Main은 안전하게 유지

6. 브랜치 활용하기

  • 예: new-footer 브랜치를 만들어 웹사이트 하단 수정
  • 수정은 main 코드에 영향을 주지 않음
  • 브랜치를 통해 실험적 개발 가능
  • 필요 시 안전하게 병합(Merge) 가능

7. 병합(Merge)과 Pull Request

  • 기능 개발 후 브랜치를 Main으로 병합
  • Pull Request(PR): 코드 리뷰·변경 사항 확인 과정
  • 초록(+) = 추가된 코드, 빨강(–) = 제거된 코드
  • 협업 시 코드 품질 관리에 필수적인 절차

8. 초보자를 위한 단순 워크플로우

  • 혼자 연습할 땐 브랜치 없이 Main에 바로 커밋 가능
  • 장기적으로는 브랜치/PR 활용 습관이 중요
  • 단순 Commit → Push → 확인 과정을 반복
  • 익숙해지면 협업 규칙에 맞게 확장

9. 공개 저장소 활용하기

  • GitHub는 수많은 공개 저장소를 제공
  • 원하는 프로젝트의 HTTPS 주소 복사
  • IDE 터미널에서 git clone [주소] 실행
  • 다른 사람의 코드 구조를 탐구하며 학습

10. Git 설치 및 준비

  • GitHub 사용 전 필수: Git 설치
  • Mac: brew install git / Windows: Git 공식 설치 파일
  • Node.js, npm 등 개발 환경도 함께 설치 권장
  • 설치 확인: git --version

11. GitHub 학습 전략

  • 먼저 Frontend 예제로 연습 (쉽게 감 잡을 수 있음)
  • 이후 Backend 프로젝트로 확장 (복잡도 ↑)
  • 작은 프로젝트부터 단계적으로 GitHub 활용
  • 꾸준히 PR/Branch/Commit 경험 쌓기

12. 정리 및 다음 단계

  • GitHub = 코드 저장, 협업, 버전 관리의 핵심 플랫폼
  • 반드시 알아야 할 기본: Repo, Branch, Commit, Merge, PR
  • 공개 저장소 활용 → 실습과 학습 속도 향상
  • 다음 단계: 협업 프로젝트 참여 & 오픈소스 기여

P4. 바이브코더의 GitHub 실무활용 워크북

1. 이번 워크북 개요

  • 대상: 바이브코딩 초급자, GitHub 처음 접하는 학습자
  • 목표: 개인 Repo 생성부터 팀 협업 프로젝트까지 경험
  • 구성: 단계별 실습 + 체크리스트 + 미션 수행

2. 학습 단계

1단계: GitHub 시작하기

  • GitHub 계정 생성 후 로그인
  • 프로필 설정 (프로필 사진, 이름, 소개글)
  • 기본 탐색: 프로필, 저장소, 활동 기록 확인

✅ 체크리스트

  • GitHub 계정 생성
  • 프로필 편집 완료
  • Repo/Branch 메뉴 위치 확인

2단계: 새 저장소(Repository) 만들기

  • New Repository 클릭 → 이름 입력 (my-first-repo)
  • 공개 여부 선택: Public (학습용 권장)
  • 초기화: README 파일 추가
  • Create Repository 클릭

✅ 체크리스트

  • Repo 생성 완료
  • README 파일 확인
  • 저장소 URL 복사

3단계: 로컬 환경 연결하기

  • PC에 Git 설치 (git --version 확인)
  • 저장소 Clone: git clone https://github.com/[username]/my-first-repo.git
  • VS Code / Cursor로 로컬 저장소 열기

✅ 체크리스트

  • Git 설치 확인
  • Repo Clone 완료
  • 로컬 폴더와 GitHub 연결됨

4단계: Commit & Push

  • 로컬에서 index.html 파일 생성
  • Git 명령어로 기록 git add . git commit -m "Add index.html" git push origin main
  • GitHub 웹에서 코드 반영 확인

✅ 체크리스트

  • 파일 추가 → Commit 성공
  • GitHub 저장소에서 파일 반영 확인

5단계: 브랜치(Branch) 생성하기

  • 새 브랜치 만들기: git checkout -b feature-header
  • header.html 파일 작성 후 Commit & Push
  • GitHub에서 feature-header 브랜치 확인

✅ 체크리스트

  • 새 브랜치 생성
  • 파일 추가 후 Push 성공
  • 브랜치 전환 방법 숙지

6단계: Pull Request(PR) 열기

  • GitHub Repo → Compare & Pull Request 클릭
  • 변경 내용 설명 작성 → Create Pull Request
  • Merge → Main 반영

✅ 체크리스트

  • PR 생성 완료
  • 코드 변경 설명 작성
  • Merge 완료 후 Main 반영

7단계: 협업 프로젝트 참여하기

  • 팀원이 만든 Repo → Fork
  • 내 계정으로 복사된 Repo를 Clone
  • 수정 후 PR로 원저장소에 기여

✅ 체크리스트

  • 팀원 Repo Fork 완료
  • 로컬에서 수정 후 Commit & Push
  • 원저장소로 PR 요청 완료

3. 실습 미션

미션 1: 개인 웹페이지 Repo 만들기

  • my-profile-page Repo 생성
  • index.html에 자기소개 작성
  • Push & Commit 기록 확인

미션 2: 기능 개발 브랜치 실습

  • feature-style 브랜치 생성
  • style.css 추가 후 Push
  • PR 생성 → Main에 Merge

미션 3: 팀 프로젝트 협업

  • 팀원이 만든 team-dashboard Repo Fork
  • 대시보드에 about.html 추가
  • PR 생성 후 Merge 요청

4. 정리 및 다음 단계

  • GitHub 핵심 기능: Repo, Branch, Commit, Push, PR, Fork
  • 개인 프로젝트 → 팀 협업으로 확장
  • 꾸준한 Commit과 PR 경험이 포트폴리오로 연결

P5. 팀 프로젝트 협업 방식 비교: Git Flow vs. Trunk

1. 현대 소프트웨어 관리 기법

(1) Git Flow

  • 브랜치 종류
    • main: 실제 배포 버전
    • develop: 개발 버전(여러 기능 통합)
    • feature/*: 개별 기능 개발용
    • release/*: 배포 준비용
    • hotfix/*: 긴급 수정용
  • 장점: 역할이 명확해 프로젝트 규모가 크고, QA 과정이 긴 기업형 프로젝트에 적합
  • 단점: 브랜치가 많아 복잡 → **CI/CD(자동 배포)**와는 어울리지 않음 (병합 주기가 길어 충돌 위험 증가)

(2) Trunk-based Development (간단히: Trunk, GitHub Flow)

  • 브랜치 전략
    • main: 항상 배포 가능한 상태 유지 (trunk)
    • feature/*: 짧게 만든 뒤 Pull Request(PR) → 코드리뷰 → 빠른 병합
  • 특징:
    • main 브랜치가 바로 엔드유저에게 배포되는 버전
    • 짧은 주기로 기능을 추가하고, 테스트 자동화 필수
    • GitHub Flow는 Trunk 기반의 단순화 버전 (main + feature 브랜치 중심)
  • 장점:
    • 배포 속도 ↑, 협업 단순
    • CI/CD와 잘 맞음 (테스트 → 머지 → 자동 배포)
  • 단점:
    • 자동화 테스트 미흡하면 불안정 코드가 유저에게 바로 전달될 수 있음

2. 프로젝트 유형별 모범적인 협업 방식 제안

✅ 소규모/스타트업/학습 프로젝트 → Trunk (GitHub Flow)

  • 이유: 단순하고 빠름, CI/CD 파이프라인 연동 쉬움
  • 워크플로우 예시:
    1. main 브랜치에서 시작
    2. 작업할 때 feature/login-form 같은 브랜치 생성
    3. 작업 완료 후 Pull Request 생성 → 팀원 코드 리뷰
    4. 리뷰 통과 후 main에 머지
    5. 자동 테스트 & 자동 배포 실행
  • 핵심: 작은 단위, 자주 커밋 & 자주 머지

✅ 대규모/엔터프라이즈 프로젝트 → Git Flow

  • 이유: QA, 안정성 중시, 배포 절차가 엄격할 때 적합
  • 워크플로우 예시:
    1. 개발은 develop에서 진행
    2. 기능은 feature/*에서 개발 후 develop에 합침
    3. 배포 직전 release/* 브랜치 생성 → QA, 테스트
    4. 배포 시 main에 머지, 태그 달아 버전 관리
    5. 긴급 수정 시 hotfix/* 브랜치 바로 생성 후 maindevelop에 적용

3. 정리: 어떤 방식을 쓸까?

구분Git FlowTrunk (GitHub Flow)
브랜치 구조main, develop, feature, release, hotfixmain, feature
복잡도높음낮음
배포 주기느림 (몇 주~몇 달)빠름 (하루에 여러 번)
테스트QA 중심, 수동 테스트 多자동화 테스트 必
적합한 환경대기업, 금융/공공 시스템, 대규모 프로젝트스타트업, SaaS, 오픈소스, 빠른 개발 사이클

Git을 이용한 모범적인 협업 방식 요약

  • 작은 팀/학습/스타트업: GitHub Flow(Trunk 기반) → 작은 기능 단위로 브랜치 생성 → PR 리뷰 → main 머지 → 자동 배포
  • 대규모/안정성 중시 프로젝트: Git Flow → 개발 브랜치/릴리즈 브랜치 관리 → QA/배포 절차 구분

첫 포스팅: 25.09.12 / 포스트 문의: JUN (naebon@naver.com)

Leave a Reply