본문 바로가기
IT

Git과 GitHub 기초 용어 완벽 정리 – 처음 시작하는 개발자를 위한 입문 가이드

by 굿센스굿 2025. 5. 8.
반응형

 

개발자라면 꼭 알아야 하는 도구 중 하나가 바로 Git과 GitHub입니다. 혼자 개발하든, 팀과 협업하든 간에 버전 관리를 효율적으로 하고 싶다면 Git은 필수입니다. 하지만 처음 Git을 접하는 사람들은 다양한 용어와 개념들에 어려움을 느끼기 쉽죠. 오늘은 Git과 GitHub에 대한 기초 개념과 핵심 용어들을 체계적으로 정리하여, Git을 처음 접하는 분들도 쉽게 이해하고 실무에 활용할 수 있도록 자세히 설명드리겠습니다.


목차

  1. Git이란 무엇인가?
  2. GitHub란 무엇인가?
  3. Git의 작업 흐름과 저장소 구조
  4. Git의 핵심 명령어 이해하기
  5. 브랜치(Branch)와 포크(Fork)의 개념
  6. 마무리 및 다음 학습을 위한 제안

1. Git이란 무엇인가?

🔍 Git의 정의

Git은 리누스 토르발즈가 리눅스 커널 개발을 위해 만든 **분산형 버전 관리 시스템(DVCS, Distributed Version Control System)**입니다. 쉽게 말해, 소스코드의 변경 이력을 효율적으로 관리할 수 있는 도구입니다.

📌 Git의 핵심 특징

  • 분산형 구조: 중앙 서버가 없어도 각 개발자가 자체적으로 전체 히스토리를 보유합니다.
  • 버전 관리: 코드 변경사항을 저장해, 이전 버전으로 되돌릴 수 있습니다.
  • 협업 기능: 여러 명이 동시에 개발을 진행하면서 충돌 없이 병합할 수 있는 기능을 제공합니다.

2. GitHub란 무엇인가?

GitHub는 Git 저장소를 인터넷 상에 호스팅할 수 있는 플랫폼입니다. 즉, Git을 온라인으로 관리할 수 있는 원격 저장소(Remote Repository) 서비스이며, 오픈소스 커뮤니티 및 협업 플랫폼으로도 널리 사용됩니다.

🎯 GitHub의 역할

  • 소스코드 백업 및 공유
  • 팀 단위 협업
  • 버그 이슈 트래킹
  • 오픈소스 프로젝트 관리
  • 코드 리뷰 및 Pull Request 기능

Git과 GitHub는 혼동되기 쉬운데, Git은 버전 관리 도구이고 GitHub는 Git 저장소를 올려두는 플랫폼이라고 이해하면 됩니다.


3. Git의 작업 흐름과 저장소 구조

Git을 제대로 사용하려면 Git 내부에서 어떻게 파일이 이동하고 저장되는지 **작업 흐름(workflow)**을 이해해야 합니다. 이를 통해 각각의 명령어가 어떤 역할을 하는지 명확해집니다.

📂 Git의 저장소 구조

위치 설명

워크스페이스(Workspace) 로컬 PC에서 실제 작업하는 디렉토리
스테이지(Stage) 커밋을 위한 준비 상태의 변경사항이 임시 저장되는 공간
로컬 저장소(Local Repository) Git으로 관리되는 버전들이 저장된 디렉토리
원격 저장소(Remote Repository) GitHub 등 온라인 상에 위치한 저장소

4. Git의 핵심 명령어 이해하기

Git은 다양한 명령어로 이루어져 있습니다. 하지만 그 중에서도 가장 핵심적인 명령어 몇 가지를 중심으로 정리해보겠습니다.

🔼 로컬에서 원격 저장소로의 흐름

✅ git add

  • 역할: 워크스페이스에서 변경된 파일을 스테이지 영역으로 올립니다.
  • 사용 예시: git add index.html

✅ git commit

  • 역할: 스테이지 영역의 변경 이력을 로컬 저장소에 저장합니다.
  • 사용 예시: git commit -m "헤더 수정"

✅ git push

  • 역할: 로컬 저장소의 커밋을 원격 저장소(GitHub)로 전송합니다.
  • 사용 예시: git push origin main

🔽 원격 저장소에서 로컬로의 흐름

✅ git clone

✅ git pull

  • 역할: 원격 저장소의 변경 내용을 받아와 로컬 워크스페이스에 반영합니다.
  • 사용 예시: git pull origin main

✅ git fetch

  • 역할: 원격 저장소의 변경 이력을 로컬 저장소로 가져오되, 워크스페이스에는 반영하지 않습니다.
  • 사용 예시: git fetch origin

5. 브랜치(Branch)와 포크(Fork)의 개념

협업이나 실험적인 기능을 개발할 때 꼭 필요한 개념이 바로 브랜치와 포크입니다.

🌿 브랜치(Branch)

브랜치는 하나의 저장소 내에서 서로 다른 개발 흐름을 나누어 작업할 수 있도록 도와줍니다.

✨ 브랜치의 장점

  • 기능 단위로 독립 개발 가능
  • 메인 브랜치에 영향을 주지 않음
  • 여러 사람이 동시에 작업 가능

💡 브랜치 명령어 예시

git branch dev
git checkout dev
git merge dev

🍴 포크(Fork)

포크는 다른 사람의 프로젝트를 내 계정으로 복사하여 내 원격 저장소에서 자유롭게 수정할 수 있는 기능입니다.

🙋 포크를 사용하는 이유

  • 원본 코드를 직접 변경할 수 없을 때 사용
  • 오픈소스 프로젝트 참여 시 활용
  • Pull Request로 원본에 변경 요청 가능

🧪 Fork의 작업 흐름

  1. GitHub에서 원하는 저장소를 Fork
  2. 내 저장소로 클론하여 개발
  3. 수정 후 Pull Request 제출

 

반응형