Git와 GitHub가 뭔지, 저장소를 어떻게 만들고, 코드를 어떻게 올리는지.
개발자가 아니어도 이해할 수 있는 눈높이로, 처음부터 차근차근 배웁니다.
✅ Git vs GitHub — 두 개념의 차이를 한 번에 정리
✅ 저장소 — repository가 뭔지, 로컬·원격의 차이
✅ 워크플로 — 수정 → commit → push 흐름을 단계별로
✅ 브랜치 — 왜 쓰는지, 어떻게 만드는지 비유로 이해
가장 먼저 이 둘의 차이를 명확히 구분해야 나머지가 쉬워집니다.
Git가 없던 시절, 개발자들은 이렇게 작업했습니다:
| 이름 | 종류 | 특징 |
|---|---|---|
| Git | 도구 (소프트웨어) | 버전 관리 엔진 본체. 내 PC에 설치 |
| GitHub | 서비스 (플랫폼) | 가장 큰 Git 호스팅. 오픈소스의 중심지 |
| GitLab | 서비스 (플랫폼) | CI/CD 강점. 기업 자체 서버 설치도 가능 |
| Bitbucket | 서비스 (플랫폼) | Atlassian 생태계(Jira, Confluence) 연동 |
brew install gitrepository(레포지토리)는 Git의 핵심 단위입니다. 로컬과 원격의 차이를 명확히 이해합니다.
일반 폴더와 repository의 차이는 숨겨진 .git 폴더 하나입니다. 이 폴더 안에 모든 버전 이력이 담겨 있습니다.
+ → New repositoryCreate repositoryREADME.md는 저장소 메인 화면에 표시되는 소개 문서입니다. Markdown 형식으로 작성합니다.
Git의 가장 기본적인 작업 흐름입니다. 이 3단계를 완전히 이해하면 기초는 완성됩니다.
feat:(기능) fix:(버그) docs:(문서) style:(스타일) refactor:(리팩토링)| 명령어 | 하는 일 | 언제 씁니까 |
|---|---|---|
| git pull | 원격→로컬 (다운로드+병합) | 작업 시작 전 |
| git fetch | 원격→로컬 (다운로드만, 병합 안 함) | 변경사항 먼저 확인하고 싶을 때 |
| git push | 로컬→원격 (업로드) | commit 후 공유할 때 |
브랜치는 메인 코드를 건드리지 않고 새로운 작업을 시도할 수 있는 평행 작업 공간입니다.
나무의 줄기(main)에서 가지(branch)를 뻗어내어 독립적으로 작업하고, 완성되면 줄기로 합칩니다(merge).
| 패턴 | 용도 | 예시 |
|---|---|---|
| feature/ | 새 기능 개발 | feature/user-login |
| fix/ | 버그 수정 | fix/payment-error |
| hotfix/ | 긴급 수정 | hotfix/security-patch |
| docs/ | 문서 작업 | docs/readme-update |
| refactor/ | 코드 개선 | refactor/auth-logic |
각 전문가를 클릭하면 해당 주제를 깊이 설명합니다. Inspector 권고안에 따라 실행 프롬프트 형식으로 작성되었습니다.
단계별 체크박스로 진행 상황을 확인하세요. 저장됩니다.
12문항으로 Git·GitHub 기초 개념을 점검합니다.
자주 쓰는 명령어를 복사해 두세요.
# Git 버전 확인 git --version # 사용자 정보 등록 git config --global user.name "이름" git config --global user.email "이메일@example.com" # 기본 브랜치를 main으로 설정 git config --global init.defaultBranch main # 설정 확인 git config --list
# 방법 A: 내 PC에서 먼저 시작 mkdir my-project && cd my-project git init git add . git commit -m "Initial commit" git remote add origin https://github.com/username/my-project.git git push -u origin main # 방법 B: GitHub에서 먼저 만들고 가져오기 git clone https://github.com/username/my-project.git cd my-project
# 하루 시작: 최신 내용 가져오기 git pull origin main # 상태 확인 (습관적으로) git status # 파일 추가 후 staging git add . # 전체 git add 파일명 # 특정 파일 # 커밋 (의미 있는 단위로) git commit -m "feat: 기능 설명" # GitHub에 올리기 git push origin main
# 새 브랜치 만들고 이동 git switch -c feature/기능명 # 작업 후 커밋 git add . git commit -m "feat: 기능명 추가" # 브랜치 목록 보기 git branch # main으로 돌아와서 병합 git switch main git merge feature/기능명 # 브랜치 삭제 (병합 완료 후) git branch -d feature/기능명 # 원격에도 푸시 git push origin main
# 커밋 이력 (한 줄) git log --oneline # 커밋 이력 (그래프) git log --oneline --graph --all # 변경 내용 비교 git diff # 작업 공간 vs staging git diff --staged # staging vs 최근 커밋 # 특정 파일 되돌리기 (마지막 커밋으로) git checkout -- 파일명 # 마지막 커밋 메시지 수정 git commit --amend -m "수정된 메시지"