[Git] Git & GitHub 원리 쉽게 이해하기

jiyoungdev·2025년 5월 19일

📌 본 글은 신세계 I&C 부트캠프에서 배운 내용을 기반으로 정리한 글입니다.

개발자는 한 대의 컴퓨터만 쓰지 않아요.
저는 학원 컴퓨터와 집 노트북을 번갈아 사용합니다.
그래서 학원에서 한 작업을 집에서도 이어서 하려면 동기화된 저장소가 필요하죠.

바로 이럴 때 사용하는 게 GitHub(원격 저장소)입니다!


🧠 Git이란?

📌 Git은 버전 관리 시스템(VCS, Version Control System)입니다.

📌 한 줄 정의:

"코드의 변경 이력을 관리하고, 언제든 이전 상태로 되돌릴 수 있는 도구"

✔️ 주요 특징

기능설명
🔄 버전 관리코드의 변경 사항을 기록하고, 필요한 시점으로 되돌릴 수 있음
🤝 협업 지원여러 명이 동시에 같은 프로젝트를 작업해도 충돌 없이 병합 가능
📂 분산 저장소내 컴퓨터에 Git 저장소가 있어 인터넷이 없어도 버전 관리 가능
효율적인 추적누가, 언제, 어떤 내용을 수정했는지 로그로 남김 (git log)

💡 왜 Git을 쓰는 걸까?

  • 백업: 실수로 파일을 지워도 걱정 없음
  • 히스토리 추적: “이 코드를 왜 이렇게 수정했더라?” → git log로 확인 가능
  • 실험 가능: 브랜치를 따서 새로운 기능을 테스트해보고, 괜찮으면 병합
  • 협업: 팀원들과 동시에 작업해도 누구의 작업이 어떤지 명확히 분리/통합 가능

👀 Git vs GitHub?

항목설명
Git버전 관리 도구 (로컬에서 사용)
GitHubGit 저장소를 저장·공유할 수 있는 원격 플랫폼 (클라우드 기반)

🚫 혼동 금지! Git이 핵심 엔진, GitHub는 온라인 창고입니다.


✨ 실생활 비유로 이해하는 Git

📓 Git은 일기장,
☁️ GitHub는 그 일기장을 보관하는 클라우드 금고.

  • Git은 내 컴퓨터에만 있는 일기장
  • GitHub는 그 일기장을 공유/백업하고,
    다른 사람과 함께 편집할 수 있는 온라인 공간이에요.

☁️ GitHub란?

  • Git으로 버전 관리된 파일을 백업하거나 공유할 수 있는 클라우드 저장소예요.
  • 다양한 컴퓨터에서 동일한 소스 코드를 이어서 작업할 수 있습니다.

📌 Git 사용 시나리오 1: 내 로컬 ↔ GitHub ↔ 다른 로컬

예시 상황:

  • 회사 컴퓨터(A)에서 작업 후 → GitHub에 저장
  • 집 노트북(B)에서 GitHub에 있는 파일을 가져오기

흐름 정리:
1. commit

  • 변경된 파일을 Git 저장소에 저장
  • ✅ 예: git commit -m "메뉴 기능 추가"

2. push

  • 커밋한 내용을 로컬 → GitHub으로 업로드
  • ✅ 예: git push origin main

3. clone

  • GitHub에 저장된 파일을 다른 로컬 저장소로 다운로드
  • ✅ 예: git clone <GitHub주소>

📌 Git 사용 시나리오 2: 다른 사람의 GitHub → 내 GitHub → 내 로컬

예시 상황:

  • 오픈소스 프로젝트를 가져와서 직접 수정하고, 원본 프로젝트에 기여하고 싶은 경우

흐름 정리:
1. fork

  • 다른 사람의 GitHub 저장소를 내 GitHub 계정으로 복사
  • GitHub UI에서 클릭 한 번이면 가능!

2. clone

  • 복사된 내 GitHub 저장소를 내 컴퓨터로 다운로드
  • ✅ 예: git clone <내GitHub주소>

3. commit

  • 파일 수정 후 변경사항 저장

4. push

  • 내 로컬 → 내 GitHub으로 업로드

5. pull request

  • "내가 수정한 내용을 원본 저장소에 반영해주세요!"라고 요청
  • GitHub UI에서 New Pull Request 클릭

6. merge

  • 원본 저장소의 주인이 요청을 수락하면,
    내 수정 내용이 원본 저장소에 병합됨

✅ 요약 정리

동작설명
commit변경 내용을 Git에 저장
push로컬 → 원격(GitHub)으로 업로드
clone원격(GitHub) → 로컬로 복제
fork다른 사람의 GitHub 저장소를 내 GitHub로 복사
pull request내 GitHub 수정 내용을 원본 저장소에 반영 요청
mergePR을 수락하여 원본에 병합

🧠 한 문장으로 기억하자!

"commit → push → clone → pull request → merge"
다양한 작업 환경과 협업을 위한 Git의 흐름은 이 다섯 단어로 요약된다!


✍️ 이 글은 제가 공부하며 직접 정리한 내용입니다.
필요하신 분들과 자유롭게 공유하셔도 좋지만,
출처는 꼭 함께 남겨주시면 감사하겠습니다 :)

🔗 출처: jiyoungdev.log


📄 본 글은 CC BY-NC-ND 4.0 라이선스에 따라 보호됩니다.

저작자 표시 ✧ 비영리 ✧ 변경금지

CC License

profile
"꼼꼼하다, 믿음이 간다"는 말을 자주 듣는 개발자

0개의 댓글