컴퓨터 과학(CS, Computer Science)/컴퓨터 과학(CS, Computer Science)
[컴퓨터 과학, CS] 🔧 Git과 GitHub란?
HiEarth_HH
2025. 4. 12. 00:02
🧠 1️⃣ Git이란?
코드의 버전을 관리하는 도구
쉽게 말해, **"코드의 시간여행기"**야.
🔹 한 줄 요약
Git은 코드의 변경 이력을 추적하고, 여러 사람이 동시에 작업해도 충돌 없이 관리할 수 있게 해주는 '버전 관리 시스템(VCS)'이야.
기능설명
⏱ 버전 추적 | 과거 코드로 되돌리기 가능 (버그 수정, 실수 복구에 좋음) |
🧑🤝🧑 협업 관리 | 여러 개발자가 동시에 다른 기능 작업 가능 (branch 기능) |
💻 로컬 중심 | 인터넷 없이도 버전 기록 가능 (Git 자체는 로컬 도구임) |
예시: git init, git add, git commit, git log 등은 전부 Git 명령어
☁️ 2️⃣ GitHub이란?
Git으로 관리되는 코드를 ‘클라우드 서버에 저장하고 공유할 수 있는 플랫폼’
🔹 한 줄 요약
GitHub는 Git으로 버전 관리되는 프로젝트를 저장·공유·협업할 수 있도록 만든 웹 기반 플랫폼이야.
기능설명
☁ 원격 저장소 | 코드를 인터넷에 저장하고, 여러 사람이 접근 가능 |
🧑💻 오픈소스 협업 | 누구나 프로젝트에 참여하고 수정 제안 (Pull Request) |
📊 변경 추적/이력 시각화 | 커밋 그래프, diff 확인 등 GUI 제공 |
🧪 CI/CD, Wiki, 이슈 트래킹 | 자동 배포, 문서화, 버그 추적 기능 포함 |
GitHub는 Git을 기반으로 한 클라우드 서비스이고,
GitLab, Bitbucket도 비슷한 역할을 하는 Git 기반 플랫폼이야.
🔍 Git vs GitHub 차이
항목 | Git | GitHub |
의미 | 버전 관리 도구 (로컬) | Git 저장소 호스팅 서비스 (웹) |
설치 여부 | 내 PC에 설치함 | 웹사이트 가입하면 됨 |
인터넷 필요 여부 | ❌ 오프라인 가능 | ✅ 온라인 플랫폼 |
역할 | 코드 기록, 되돌리기, 병합 | 저장, 공유, 협업, 시각화 |
유사 서비스 | Git 자체 | GitLab, Bitbucket 등 |
💡 실전 사용 흐름 (협업 기준)
bash
복사편집
# 1. Git 초기화 git init # 2. 코드 변경 추적에 추가 git add . # 3. 변경 내용 저장 (커밋) git commit -m "첫 커밋" # 4. GitHub 원격 저장소 연결 git remote add origin https://github.com/내이름/내저장소.git # 5. 원격 저장소에 업로드 (푸시) git push -u origin main
🧑💻 팀원은 git clone, git pull로 가져오고 작업 후 다시 push 해!
🌐 GitHub의 대표 기능
기능설명
📦 Repository | 하나의 프로젝트를 담는 공간 |
🔄 Pull Request | 협업자 간 코드 변경 제안 & 병합 요청 |
🐞 Issues | 버그나 작업 사항 기록/관리 |
✅ Actions | 자동 빌드/테스트/배포 (CI/CD) |
📄 README.md | 프로젝트 소개 문서 (Markdown 문법 사용) |
🎯 요약 정리
GitGitHub
버전 기록하는 도구 | Git을 웹에서 호스팅/공유하는 플랫폼 |
개발자 PC에서 작동 | 인터넷 기반, 협업 중심 |
되돌리기, 브랜치 관리 | PR, 이슈, 팀워크 도구 제공 |
✅ Git은 "도구", GitHub는 "협업 공간"