시간은 돈으로도 살 수 없습니다. 노동은 AI에게, 삶은 나에게.
AI · 자동화 · 워드프레스 · 온라인 수익화
📂
Git & GitHub
📄 총 5개의 글

Git과 GitHub 개념 쉽게 정리하기

이 글은 코딩을 처음 배우는 분들, 프로그래밍 협업이 낯선 사람들, 혹은 Git과 GitHub를 배우려다 헷갈렸던 초보자들에게 꼭 필요한 안내서입니다. 개발의 필수 도구인 Git과 GitHub를 친근한 비유와 함께 알기 쉽게 설명하여, 누구든지 쉽게 이해하고 활용할 수 있도록 도와드립니다.

아래에서는 Git과 GitHub의 개념 정리, 자주 쓰는 용어, 구조 이해, 보안 주의사항 등을 확인할 수 있습니다.

🔍 이 글과 함께 알아두면 좋은 꿀팁

📌 “그냥 쓰면 큰일 나요!” — GitHub 올리기 전 확인 필수!
처음 GitHub에 코드를 올리는 분들 중에는 실수로 API 키, 비밀번호 같은 민감한 정보를 포함하는 경우가 많아요. 이렇게 되면 보안 사고가 생길 수 있죠.

💡 해결 방법은 .gitignore 파일을 설정해 중요한 파일을 아예 업로드되지 않도록 관리하는 것이에요.

이 외에도 GitHub 사용 시 꼭 알아야 할 보안 주의사항은 이 글에서 확인하세요!

🛠️ Git과 GitHub 개념 쉽게 정리하기

Git과 GitHub의 기본 개념과 차이를 비유와 함께 이해하기 쉽게 정리했습니다.

📋 Git과 GitHub의 주요 개념 정리

개념정의비유설치 위치
Git변경 이력 저장 도구일기장📓내 컴퓨터
GitHubGit 사용자 협업 공간도서관📚인터넷
GitHub DesktopGit과 GitHub를 쉽게 쓰게 해주는 도구TV 리모컨🎮내 컴퓨터
  • Git은 내 컴퓨터에서 파일의 변경 이력을 저장하고 관리하는 도구입니다.
  • GitHub는 Git으로 만든 파일을 인터넷에 저장하고 공유하는 공간입니다.
  • GitHub Desktop은 Git과 GitHub를 쉽게 사용하게 도와주는 프로그램입니다.

📚 Git과 GitHub 자주 쓰는 용어 정리

Git과 GitHub에서 자주 사용하는 용어들을 쉽게 설명한 표입니다.

🖥 Git에서 자주 쓰는 용어

용어의미비유
Repository프로젝트 폴더파일 보관함📁
Commit작업 저장일기 쓰기📓
Branch기능 실험 공간연습장📄
Merge코드 합치기글 묶기
PushGitHub에 올리기도서관에 일기 올리기
PullGitHub에서 받기일기 내려받기

🌐 GitHub에서 자주 쓰는 용어

용어의미비유
Fork프로젝트 복사친구 노트 복사
Pull Request변경 요청선생님에게 검사 요청
Issue문제 제안게시판📝
CloneGitHub에서 복사책 빌리기
Actions자동 작업 실행자동화 로봇🤖
  • Commit은 변경 내용을 저장하는 것으로, “일기 쓰기”처럼 생각하면 됩니다.
  • Push는 내 컴퓨터에서 GitHub로 올리는 행동으로, 도서관에 책을 보관하는 느낌입니다.
  • Pull Request는 내가 작업한 것을 다른 사람에게 보여주며 합쳐달라는 요청이에요.

🧩 구조 이해하기: Git, GitHub, GitHub Desktop은 어디에?

Git과 GitHub의 구조를 한눈에 정리해 봅니다.

scss복사편집내 컴퓨터
├─ Git (변경 이력 관리)
├─ GitHub Desktop (편리한 도구)
인터넷
└─ GitHub (코드 협업 공간)
  • Git은 내 컴퓨터에 설치되어 로컬에서 사용합니다.
  • GitHub는 웹상에서 사용하는 온라인 플랫폼입니다.
  • GitHub Desktop은 내 컴퓨터에서 Git과 GitHub를 쉽게 연결해주는 도구입니다.

기억 꿀팁
Git은 📓일기장, GitHub는 📚도서관, GitHub Desktop은 🎮리모컨!

🚨 GitHub 사용 시 주의사항: 보안은 필수!

GitHub 사용 시 반드시 지켜야 할 보안 수칙들을 안내합니다.

주의사항설명비유
민감한 정보 금지비밀번호, API 키 올리지 않기집 열쇠를 문 앞에 두는 것
.gitignore 사용업로드 방지 파일 설정금고에 숨기기
커밋 전 확인커밋 내용 반드시 점검메시지 보내기 전 확인
퍼블릭 레포 주의민감 정보는 비공개로게시판에 개인 정보 올리는 것
Clone 시 신뢰 검토악성코드 주의낯선 USB 꽂기
  • 민감한 정보는 반드시 .gitignore로 관리하세요.
  • 프로젝트를 퍼블릭으로 설정할 때는 비밀번호, 키 등이 포함되지 않았는지 꼭 확인하세요.
  • 코드를 복사해올 땐 신뢰 가능한 출처인지 확인하는 습관이 중요합니다.

⚠️ Git 명령어 사용 시 주의사항

Git에서 자주 쓰는 명령어의 주의점과 사용 예시를 정리합니다.

명령어주의사항좋은 예시나쁜 예시
Commit의미 있는 메시지 사용feat: 로그인 기능 추가수정
Branch별도 브랜치에서 작업git checkout -b feat/login
Merge충돌 여부 확인git merge 브랜치명
Push변경 사항 점검 후 푸시git push origin main
Pull작업 전 최신화 필수git pull origin main
  • 커밋 메시지를 간단하고 명확하게 작성하면 나중에 추적이 쉬워집니다.
  • 항상 메인 브랜치에서 직접 작업하지 말고, 별도 브랜치에서 기능을 추가하세요.
  • Merge 전에 충돌 해결은 필수입니다.

❓자주 묻는 질문 (FAQ)

Git과 GitHub에 대해 자주 묻는 질문들을 정리했습니다.

Git과 GitHub는 꼭 같이 써야 하나요?
Git만 써도 되지만, GitHub와 함께 쓰면 협업과 백업에 훨씬 편리합니다.

GitHub는 무료인가요?
기본 기능은 무료이며, 비공개 저장소와 추가 기능은 유료 플랜이 있습니다.

GitHub Desktop을 꼭 설치해야 하나요?
꼭은 아니지만, Git 명령어에 익숙하지 않다면 매우 유용합니다.

Push와 Pull은 왜 중요한가요?
Push는 내 작업을 올리는 것이고, Pull은 다른 사람의 작업을 받아오는 것입니다. 협업에서 필수입니다.

브랜치는 왜 써야 하나요?
여러 기능을 동시에 작업하거나 실험할 때 안전하게 코드 관리를 도와줍니다.

.gitignore은 어떻게 설정하나요?
업로드하지 말아야 할 파일명을 .gitignore 파일에 작성하면 됩니다.

민감 정보는 어떻게 관리하나요?
.env 파일 등으로 분리하고, .gitignore로 올리지 않도록 설정하세요.

Merge 충돌이 생기면 어떻게 하나요?
수정 충돌된 부분을 수동으로 정리하고, 다시 커밋 및 푸시합니다.

GitHub Actions는 무엇인가요?
코드 빌드, 테스트, 배포 등의 작업을 자동화해주는 기능입니다.

📢 추가로 알면 좋은 정보

💻 Git을 설치하는 방법

운영체제설치 방법링크
WindowsGit for Windows 설치공식 사이트
macOSHomebrew 사용brew install git
Linux패키지 매니저 사용sudo apt install git
  • Git은 공식 사이트서 다운로드할 수 있어요.
  • 설치 후, `git config` 명령어로 사용자 정보를 설정하는 걸 잊지 마세요!

🚨 GitHub 사용 시 주의할 점 (보안·해킹 예방)

🚨 GitHub 사용 시 주의할 점 (보안·해킹 예방)

1. 민감한 정보가 포함된 파일 주의

  • 비밀번호, API 키(인증키), 개인정보 등 중요한 정보는 절대 올리지 마세요!
  • GitHub에 올린 정보는 다른 사람들도 쉽게 볼 수 있어요.

🪄 비유:

  • 집 열쇠를 집 앞에 두고 다니면 누구나 들어올 수 있는 것과 같아요.

💡 해결법 예시:

# 잘못된 예 (민감한 정보 직접 포함 ❌)
API_KEY = "123456789abcdef"

# 올바른 예 (별도 파일로 관리 ✅)
.env 파일에 저장 후, .gitignore로 관리

2. .gitignore 파일 반드시 사용

  • Git에 올리면 안 되는 파일을 지정해서 실수로라도 업로드되지 않도록 막아요.

🪄 비유:

  • 금고에 중요한 물건을 넣어 다른 사람이 못 보게 숨기는 느낌!

💡 사용 예시:

# .gitignore
.env
password.txt
node_modules/
__pycache__/

3. 커밋·푸시 전에 반드시 확인하기

  • 무작정 빨리 커밋(commit), 푸시(push) 하지 말고, 항상 파일 내용 다시 확인하기!

🪄 비유:

  • 친구한테 메시지를 보낼 때, 잘못된 내용을 보내지 않기 위해 한 번 더 읽어보는 습관과 같아요!

💡 좋은 습관 예시:

git status         # 변경된 파일 목록 보기
git diff 파일명 # 파일 내 변경 내용 확인

4. 퍼블릭 레포(공개 저장소)에 특히 조심

  • 퍼블릭 저장소는 인터넷에 공개된 상태라 누구나 볼 수 있어요.
  • 민감 정보는 반드시 비공개(Private) 저장소나 별도 관리하세요.

🪄 비유:

  • 누구나 볼 수 있는 게시판에 개인정보를 붙이는 건 위험하겠죠?

5. Fork나 Clone할 때 해킹 가능성 주의

  • 다른 사람이 만든 프로젝트를 Fork하거나 Clone할 때 해킹 코드나 악성 코드가 포함될 수도 있어요.

🪄 비유:

  • 낯선 사람이 준 USB를 그냥 내 컴퓨터에 꽂으면 위험하겠죠?

💡 방지 방법:

  • 공식적이고 신뢰할 수 있는 프로젝트만 사용하기.
  • 코드를 다운받은 후, 파일 내용을 반드시 확인하기!

Git 명령어 사용 시 주의할 점 (커밋, 브랜치, 머지, 푸쉬, 풀 등)

1. Commit (커밋) 주의사항

  • 커밋 메시지를 의미 있게 작성하세요. (나중에 무슨 변경이었는지 쉽게 알 수 있어요!)

좋은 예시 ✅

git commit -m "feat(login): 로그인 버튼 추가"

나쁜 예시 ❌

git commit -m "수정"

📌 2. Branch (브랜치) 주의사항

  • 메인(main) 브랜치에서 바로 작업하지 마세요. 별도의 브랜치에서 작업 후 합치는 게 좋아요.

브랜치 생성 예시

git checkout -b feat/login-page

🪄 비유:

  • 초안(별도 브랜치)을 작성 후 완성되면 원본(메인 브랜치)에 옮기는 느낌!

📌 3. Merge (머지) 주의사항

  • 머지 전에 항상 충돌(conflict)을 확인하고 해결하세요.

충돌 해결 예시

# 브랜치 전환 및 머지
git checkout main
git merge feat/login-page

🪄 비유:

  • 서로 다른 두 사람이 동시에 같은 노트에 글을 썼을 때 겹친 내용을 잘 정리해야겠죠?

📌 4. Push (푸시) 주의사항

  • 푸시 전 항상 파일 내용을 재확인하고, 잘못된 커밋은 반드시 수정한 후 푸시하세요.

푸시 명령어 예시

git push origin main

🪄 비유:

  • 메일이나 메시지 보내기 전 최종 확인하는 습관!

📌 5. Pull (풀) 주의사항

  • 작업 시작 전 항상 최신 상태로 업데이트하기 (git pull)를 통해 다른 사람의 변경 사항을 반영하세요.

풀 명령어 예시

git pull origin main

🪄 비유:

  • 친구와 같은 노트를 쓸 때 친구가 먼저 내용을 추가했다면, 내가 먼저 그 내용을 확인하고 작업을 시작하는 게 좋겠죠!

✅ 꼭 기억할 한 줄 요약 꿀팁!

  • GitHub에는 민감 정보 절대 올리지 말고, 파일 내용은 항상 다시 확인하자! 📌🔐

이렇게 기본 보안과 주의사항을 잘 지키면 Git과 GitHub를 안전하고 효과적으로 쓸 수 있어

협업이 쉬운 Git 구조, 모노레포 vs 멀티레포 무엇이 맞을까?

요즘 팀 프로젝트 하다 보면 이런 고민, 진짜 많이 들어요.
“서비스도 늘고, 앱도 여러 개 생기는데… 저장소를 하나로 계속 끌고 가도 괜찮을까?”
처음엔 하나의 GitHub 저장소에서 다 같이 작업하니까 편했는데,
파일이 많아지고 CI/CD 설정도 꼬이다 보니 슬슬 ‘모노레포 vs 멀티레포’ 고민이 시작되더라고요.

저도 그랬습니다. 혼자 개발할 땐 신경 안 쓰다가, 팀 3~5명쯤 되니까 바로 문제가 튀어나오더라고요.
브랜치 충돌, 테스트 속도, PR 병합 순서… 하나하나가 다 협업 생산성과 직결되는 요소더라고요.

그래서 이 글에선, 저처럼 “어디까지 하나로 가져가야 하지?” 고민하는 분들을 위해
모노레포와 멀티레포의 차이, 장단점, 전환 타이밍, 실전 구조 예시까지 정리했습니다.

개발 경험이 많지 않아도 이해할 수 있게, 마트 비유부터 git 명령어 실습까지 차근차근 담았으니
당장 구조 고민 중이라면 이 글로 한번 정리해보세요!

📌 모노레포 vs 멀티레포개념 정의

  • 모노레포(Monorepo):
    여러 프로젝트(서비스)의 코드를 하나의 저장소에서 함께 관리하는 방식이에요.
  • 멀티레포(Multirepo):
    프로젝트나 서비스마다 각자 다른 저장소를 사용하는 방식이에요.

🪄 모노레포 vs 멀티레포 비유 (쉽게 생각해봐요!)

  • 모노레포대형 마트 하나에 모든 물건이 있는 것과 같아요.
    한 군데만 가면 필요한 걸 다 살 수 있어요. 효율적이고 빠릅니다.
  • 멀티레포과일가게, 빵집, 정육점처럼 각각 따로 운영되는 시장이에요.
    전문화는 잘 돼 있지만, 여러 군데를 돌아다녀야 해요.

💡 사용 예시 (실제 폴더 구조)

모노레포 구조 예시

project-root/
├─ core/ # 핵심 기능 모듈
│ ├─ module1/
│ ├─ module2/
│ └─ ...
├─ apps/ # 사용자-facing 앱들
│ ├─ app1/
│ ├─ app2/
│ └─ ...
├─ shared/ # 공통 코드
│ ├─ security/
│ └─ quality/
├─ infra/ # 배포, 도커 등 인프라 설정
├─ .github/
│ └─ workflows/ # GitHub Action 자동화 설정
└─ tasks.json # 작업 관리용 설정 파일

Git 브랜치 전략 예시

브랜치설명
main안정적인 버전, 실제 배포에 사용
dev여러 기능을 통합해서 테스트하는 브랜치
feat/새로운 기능 작업용 개인 브랜치 → dev에 머지 (PR)

🔄 멀티레포로 자연스럽게 전환하는 단계

  1. 특정 앱이 별도 팀에서 관리되면, 그 앱 폴더만 따로 새 저장소로 분리 bash복사편집git filter-repo --subdirectory-filter apps/app1 --force
  2. 공통 코드는 shared/ 디렉토리를 내부 패키지나 서브모듈로 분리해서 재사용
  3. 각 앱마다 자체적으로 CI/CD 자동화 구성 (서로 독립적으로 배포 가능하게)

🧠 어디서 쓰이나? (각 방식의 장단점)

✅ 모노레포가 유리한 경우

  • 프로젝트 시작 단계
  • 팀 규모가 작을 때 (2~5명)
  • 기능들이 서로 자주 영향을 줄 때
  • 테스트 및 수정 작업을 빠르게 하고 싶을 때

✅ 멀티레포가 유리한 경우

  • 프로젝트가 커지고, 서비스끼리 완전히 독립적일 때
  • 여러 팀이 나눠서 병렬적으로 개발할 때
  • 서비스마다 배포나 보안 권한을 따로 관리해야 할 때

✅ 기억 꿀팁 한 줄 요약!

초기엔 한방에(모노), 커지면 나눠서(멀티)!

🚀 지금 당장 써먹는 실행 절차 (실습용 예시)

(1) GitHub 저장소 만들기 + 초기화

gh repo create my-monorepo --private
cd my-monorepo && git init

(2) 폴더 구조 스캐폴드 생성 & 첫 커밋

git add .
git commit -m "chore: initial scaffold with core & apps"
git push -u origin main

(3) GitHub Actions 자동 테스트 설정 (.github/workflows/ci.yml)

name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pip install -r requirements.txt
- run: pytest

(4) VSCode 작업공간 설정

  • .code-workspacecore/, apps/ 폴더를 포함시켜서 검색과 테스트를 한 번에 하게 설정

(5) 릴리즈 태그 달기

git tag -a v0.1.0 -m "MVP scaffold"
git push origin v0.1.0

이제 모노레포로 시작해서 편하게 관리하고,
규모가 커질 땐 멀티레포로 자연스럽게 전환하면 됩니다! 😄

📚 Git과 GitHub 자주 쓰는 용어 정리

1️⃣ Git과 GitHub 개념 쉽게 정리하기

📌 Git (깃) 이란?

  • 한 줄 정의: 내 컴퓨터에서 코드나 파일의 변경 이력을 저장하고 관리하는 도구예요.
  • 쉽게 비유하면:
    내가 쓰는 일기장📓과 같아요.
    매일 일기를 써서 내용을 추가하고, 수정하거나 지울 수도 있어요.
    그리고 지난 날짜의 일기를 언제든지 다시 볼 수 있어요.
  • 내 컴퓨터에 설치되는 프로그램:
    Git은 내 컴퓨터에서 직접 작동하는 프로그램이에요.

📌 GitHub (깃허브) 이란?

  • 한 줄 정의: Git을 사용하는 사람들의 파일과 코드를 인터넷에서 공유하고 협업하는 웹사이트예요.
  • 쉽게 비유하면:
    도서관📚이라고 생각하면 좋아요.
    내 일기장(Git)을 다른 사람과 함께 보거나 협업하려면 인터넷에 올려야 하잖아요?
    GitHub는 그 일기장을 올려서 여러 사람이 같이 보거나 함께 수정할 수 있게 해주는 공간이에요.
  • 내 컴퓨터와는 분리된 웹사이트:
    GitHub는 내 컴퓨터가 아니라, 인터넷(웹)에 존재하는 별도의 서비스입니다.

📌 GitHub Desktop (깃허브 데스크탑) 이란?

  • 한 줄 정의: Git과 GitHub를 편리하게 사용할 수 있는 그래픽(마우스로 클릭) 방식의 프로그램이에요.
  • 쉽게 비유하면:
    TV 리모컨🎮이에요. TV(GitHub)를 보려면 직접 버튼을 눌러도 되지만, 리모컨을 쓰면 더 편하잖아요?
    GitHub Desktop도 Git과 GitHub를 쉽고 간단히 사용할 수 있게 도와줘요.
  • GitHub Desktop은 내 컴퓨터에 설치해서 사용하는 프로그램이고, 저장은 GitHub(웹)에 하는 거예요.

2️⃣ Git과 GitHub 각각의 자주 쓰는 용어 정리

🖥 Git에서 자주 쓰는 용어

용어의미 (초등학생도 이해 가능!)
Repository (레포지토리)내 프로젝트나 파일을 보관하는 폴더📁
Commit (커밋)작업을 마치고 저장하는 행위(일기장에 하루 일기를 적는 것과 같아요!)
Branch (브랜치)메인 코드와 분리해서 새로운 기능이나 실험을 할 수 있는 공간(연습장📄이라고 생각하면 쉬워요!)
Merge (머지)여러 브랜치(연습장)를 다시 메인 브랜치로 합치는 작업
Push (푸시)내 컴퓨터의 변경된 파일을 GitHub에 올리는 것(일기장을 도서관에 올리는 느낌!)
Pull (풀)GitHub에 올라와 있는 변경된 내용을 내 컴퓨터로 내려받는 것

🌐 GitHub에서 자주 쓰는 용어

용어의미 (초등학생도 이해 가능!)
Fork (포크)다른 사람의 프로젝트를 내 GitHub에 복사하는 것 (친구 노트를 복사해서 내 것으로 만드는 느낌!)
Pull Request (풀 리퀘스트)내가 작업한 내용을 원본 프로젝트에 반영해달라고 요청하는 것 (선생님한테 숙제 검사받는 느낌!)
Issue (이슈)프로젝트에서 발생한 문제나 제안 사항을 기록하고 논의하는 게시판 (질문 게시판📝 느낌!)
Clone (클론)GitHub의 프로젝트를 내 컴퓨터로 복제해서 가져오는 것 (도서관 책을 빌려오는 것!)
Actions (액션)코드 테스트, 배포 같은 작업을 자동으로 실행하는 기능 (자동화 로봇🤖 느낌!)

3️⃣ 구조 쉽게 이해하기 (다시 정리!)

질문쉬운 답변
Git은 내 컴퓨터에 설치?네, Git은 내 컴퓨터에 설치하는 프로그램이에요.
GitHub는 내 컴퓨터에 설치?아니요, GitHub는 인터넷에서 사용하는 웹사이트에요.
GitHub Desktop은 어디 설치?GitHub Desktop은 내 컴퓨터에 설치해서 Git과 GitHub를 쉽게 사용하도록 도와주는 프로그램이에요.

즉, 구조는 이렇게 됩니다:

내 컴퓨터
├─ Git (변경 이력 관리)
├─ GitHub Desktop (편리한 관리 도구)

인터넷
├─ GitHub (코드를 저장하고 협업하는 곳)

✅ 기억 꿀팁 한 줄 정리 (잊지 말아요!)

  • Git은 내 일기장📓!
  • GitHub는 함께 쓰는 도서관📚!
  • GitHub Desktop은 편하게 쓰는 리모컨🎮!

Git 초보자들을 위한 branch 개념 & 브랜치 사용방법 알아보기

Git을 처음 접한 초보자 입장에선 “왜 이렇게까지 복잡하게 나누지?”, “그냥 저장하고 푸시하면 되는 거 아냐?”라는 생각이 들 수 있습니다.
그래서 이번에는 ‘브랜치 전략이 왜 필요한지, 언제 쓰는지, 초보자가 겪는 상황별로 언제 유용한지’까지 쉽게 풀어서 설명해 드릴게요.

🍊 Git 브랜치 전략, 초보자도 이해할 수 있게!

💡 왜 Git 브랜치 전략이 필요한가요?

코드 작업을 혼자서만 한다면 사실 main 하나만 써도 문제 없습니다.
하지만 아래 상황이 하나라도 있다면? 브랜치 전략이 꼭 필요합니다.

✅ 필요한 상황 3가지

상황설명Git 브랜치 전략으로 해결되는 점
1인 이상이 함께 개발여러 사람이 동시에 수정 → 충돌 발생 위험각자 feat/*로 작업 후 dev에 통합, 충돌 최소화
실수로 코드를 망가뜨림코딩 중 잘못된 수정으로 앱 오류 발생main은 항상 안정 상태 유지! 실험은 dev에서
새로운 기능 실험 중아직 검증되지 않은 기능 개발 중feat/*에서 마음껏 실험 후 리뷰받고 합치기

🤔 초보자가 자주 겪는 문제 vs 브랜치 전략

자주 겪는 문제브랜치 전략 도입 후 변화
“내가 뭘 고쳤는지 모르겠어요”커밋 & 브랜치로 이력 추적 가능
“기능 하나 수정하다 앱 전체가 깨졌어요”feat/*에서 실험, main은 언제나 정상 작동
“같이 작업 중인데 서로 코드가 꼬여요”브랜치로 분리 → 리뷰 → 병합 순서로 충돌 최소화

🔍 언제 어떤 브랜치를 쓰면 되나요?

상황사용할 브랜치설명
새 기능 만들고 싶을 때feat/기능명내 작업대입니다. 마음껏 실험 가능!
기능 다 만들고 공유할 때PR → dev테스트 자동 실행 + 리뷰어 검토
사용자에게 서비스 배포할 때main문제 없는 코드만 올려야 함 (릴리스 태그도 이때 생성)
급하게 오류 수정할 때hotfix/이름바로 고친 뒤 main에 바로 머지 (버전 태그도 생성)

🧠 핵심 요약 비유로 다시 정리

개념비유역할
main🏛 배포 가능한 전시관완성된 작품만 전시
dev🧪 실험실작가들의 작업물이 모여 검토되는 곳
feat/*🎨 개인 작업실각 작가가 창작 활동 중인 공간

🧪 초보자가 해볼 수 있는 실습 루틴

🌱 1. 처음 브랜치 전략 적용해보기

# 1. dev 브랜치에서 최신 코드 받아오기
git checkout dev
git pull

# 2. 새로운 작업 브랜치 생성
git checkout -b feat/hello-api

# 3. 작업 + 저장
echo "Hello API!" >> api.py
git add api.py
git commit -m "feat(api): 인사 API 스텁 추가"

# 4. GitHub로 푸시 + PR 만들기
git push --set-upstream origin feat/hello-api

🔐 보안 & 실수 예방 팁

항목주의할 점대응 방법
민감 정보 커밋.env, 비밀번호, API 키.gitignore로 제외하고 커밋 전에 확인
강제 푸시 (--force)잘못 쓰면 협업자 작업 날릴 수도절대 혼자 판단 말고 공유 필요 시 슬랙 등으로 알리기
브랜치 이름 실수오타나 중복 등명명 규칙 미리 정하고, 작업 전 확인
깃허브 공개 레포실수로 민감 파일 올리기공개 레포는 최대한 코드만 올리고 설정파일 분리

🎯 정리: 초보자에게 딱 맞는 브랜치 전략 실천법

실천 항목설명
✅ 작업 전 git pull은 무조건충돌 예방, 최신 코드 반영
✅ 기능 하나당 브랜치 하나집중도 높이고 이력 관리 쉽게
✅ 커밋은 작은 단위로 자주나중에 돌아가기도 쉬움
✅ PR 후에는 꼭 코드 리뷰 요청실수도 방지되고, 성장에도 도움 됨

🚀 마지막 팁: 이렇게 시작해보세요!

  1. 오늘 바로 dev 브랜치 생성해보세요.
  2. .gitignore 파일 만들어서 민감 파일 막기!
  3. 브랜치 하나 만들어서 README.md 수정 후 PR → 리뷰 요청까지 실습!