안녕하세요! Mojangcam입니다 😎
코딩을 하다 보면 이런 경험 다들 있으실 거예요. "어제까진 됐는데 뭘 건드렸는지 모르겠다…", "최종_진짜최종_이게진짜.py" 같은 파일이 폴더에 쌓여간다… 이걸 한 방에 해결해주는 게 바로 오늘의 주인공, 버전관리 도구 깃(Git)입니다!
깃은 코드의 변경 이력을 사진 찍듯 저장해두고, 언제든 과거 시점으로 되돌릴 수 있게 해주는 도구예요. 그리고 그 이력을 인터넷에 백업하고 공유하는 곳이 깃허브(GitHub)고요. 요즘은 개발 공부를 시작하면 파이썬 다음으로 배우는 게 깃이라고 할 정도로 필수 스킬이 됐어요. 이번 글에서는 설치부터 첫 커밋, 그리고 깃허브에 올리는 것까지 한 번에 끝내볼게요!

🧠 왜 깃(Git)을 써야 하나요?
- 되돌리기: 코드를 망쳐도 커밋해둔 시점으로 언제든 복구할 수 있어요.
- 백업: 깃허브에 올려두면 컴퓨터가 고장 나도 코드는 안전해요.
- 협업: 여러 명이 같은 프로젝트를 동시에 작업할 수 있어요.
- 포트폴리오: 깃허브 잔디(커밋 기록)는 그 자체로 개발 이력서가 됩니다!
앞서 만든 디스코드 봇 코드도 깃으로 관리하면, 기능 하나 추가할 때마다 안전하게 기록을 남길 수 있어요.
📌 준비물
- Git 2.55.0 (2026-06-29 릴리스 기준 최신, 2.x면 모두 OK)
- 윈도우 / macOS / 리눅스 아무거나
- (푸시 단계) 깃허브(GitHub) 무료 계정
설치는 공식 사이트에서 받아요.
- 윈도우: git-scm.com 에서 설치 파일 다운로드 → 옵션은 전부 기본값으로 Next만 눌러도 충분해요.
- macOS: 터미널에
git --version을 입력하면 자동으로 설치를 제안해줘요. (또는brew install git) - 리눅스(우분투):
sudo apt install git
설치 확인은 터미널(윈도우는 Git Bash)에서:
git --version
# git version 2.55.0
📌 1단계 - 최초 설정 (딱 한 번만)
깃은 "누가" 저장했는지를 기록하기 때문에, 처음에 이름과 이메일을 등록해줘야 해요.
git config --global user.name "Mojangcam"
git config --global user.email "내이메일@example.com"
git config --global init.defaultBranch main
하나씩 뜯어볼게요 💡
- user.name / user.email : 커밋(저장 기록)에 남는 작성자 정보예요. 깃허브 계정 이메일과 맞춰두면 좋아요.
- init.defaultBranch main : 새 저장소의 기본 브랜치 이름을 main으로 설정해요. 깃허브 기본값과 통일하는 거예요.
- --global : 이 컴퓨터 전체에 적용한다는 뜻이라 한 번만 해두면 됩니다.
📌 2단계 - 저장소 만들고 첫 커밋 하기
프로젝트 폴더로 이동해서 깃 저장소를 만들어볼게요.
cd my-project # 프로젝트 폴더로 이동
git init # 이 폴더를 깃 저장소로 만들기
git status # 현재 상태 확인 (습관처럼 자주!)
이제 파일을 저장(커밋)해봅니다. 깃의 저장은 2단계예요: 장바구니에 담고(add) → 결제하기(commit)!
git add . # 변경된 파일 전부 담기
git commit -m "첫 커밋: 프로젝트 시작" # 메시지와 함께 저장!
하나씩 뜯어볼게요 💡
- git add . : 현재 폴더의 모든 변경사항을 커밋 대기 상태(스테이징)로 올려요. 특정 파일만 담으려면
git add main.py처럼 쓰면 돼요. - git commit -m "메시지" : 담아둔 변경사항을 하나의 기록으로 저장해요. 메시지는 "뭘 했는지" 알 수 있게 쓰는 게 핵심!
- git log --oneline : 지금까지의 커밋 이력을 한 줄씩 보여줘요.
📌 3단계 - 깃허브(GitHub)에 올리기 (push)
이제 내 컴퓨터의 기록을 깃허브에 백업해볼게요.
- github.com 에서 New repository 클릭 → 이름 입력(예: my-project) → Create repository
- 아래 명령어로 내 저장소와 깃허브를 연결하고 업로드!
git remote add origin https://github.com/내아이디/my-project.git
git push -u origin main
하나씩 뜯어볼게요 💡
- remote add origin 주소 : "origin"이라는 별명으로 깃허브 저장소 주소를 등록해요.
- push -u origin main : main 브랜치를 깃허브로 업로드해요. -u 를 붙여두면 다음부터는
git push만 쳐도 됩니다. - 처음 푸시할 때 로그인 창이 뜨면 브라우저 인증(Sign in with your browser)을 선택하는 게 제일 편해요.

📌 전체 코드 (복붙 OK)
# Git 2.55.0 기준 (2.x 공통)
# 0. 최초 설정 (컴퓨터당 한 번)
git config --global user.name "내이름"
git config --global user.email "내이메일@example.com"
git config --global init.defaultBranch main
# 1. 저장소 만들기
cd my-project
git init
# 2. 첫 커밋
git add .
git commit -m "첫 커밋: 프로젝트 시작"
# 3. 깃허브 연결 + 업로드
git remote add origin https://github.com/내아이디/my-project.git
git push -u origin main
# 4. 이후 반복 루틴 (이것만 기억!)
git add .
git commit -m "오늘 작업 내용"
git push
📌 실행 결과
git push 가 성공하면 터미널에 업로드 진행률이 표시되고, 깃허브 저장소 페이지를 새로고침하면 내 코드가 그대로 올라가 있어요! 이제부터 커밋할 때마다 깃허브 프로필에 초록색 잔디가 심어집니다 🌱

📌 자주 나는 에러
'git'은(는) 내부 또는 외부 명령... 이 아닙니다- 원인: 설치가 안 됐거나 PATH에 등록되지 않음.
- 해결: Git 재설치 후 터미널을 새로 열기. 윈도우라면 설치와 함께 제공되는 Git Bash를 쓰면 확실해요.
Author identity unknown/Please tell me who you are- 원인: 1단계의 user.name / user.email 설정을 건너뜀.
- 해결:
git config --global user.name,user.email설정 후 다시 커밋하면 돼요.
error: src refspec main does not match any- 원인: 커밋을 한 번도 안 한 상태에서 push 했거나, 브랜치 이름이 main이 아님(master 등).
- 해결: 먼저 커밋을 만들고,
git branch -M main으로 브랜치 이름을 main으로 바꾼 뒤 다시 push!
Support for password authentication was removed- 원인: 깃허브는 이제 비밀번호 로그인 대신 토큰/브라우저 인증을 요구해요.
- 해결: 푸시할 때 뜨는 창에서 브라우저 인증을 선택하거나, 깃허브 설정에서 Personal Access Token을 발급해 비밀번호 자리에 입력하면 됩니다.
📌 마무리
오늘은 개발자 필수 스킬 깃(Git)의 핵심인 설정 → init → add → commit → push 흐름을 끝까지 달려봤어요! 이제 여러분의 디스코드 봇 코드도, 파이썬 자동화 스크립트도 안전하게 버전관리할 수 있습니다. 사실 실무에서 쓰는 깃의 80%는 오늘 배운 add / commit / push 반복이에요. 일단 오늘부터 커밋 습관을 들여보세요!
다음에는 브랜치(branch)로 기능별 작업을 나누는 법과 협업 워크플로도 다뤄볼 예정이니 기대해주세요 🙌
💬 궁금한 점은 댓글로 남겨주시면 답변드릴게요!
'IT·활용 팁' 카테고리의 다른 글
| Claude Code 입문 - 설치부터 첫 실행까지! 터미널 AI 코딩 에이전트 완벽 가이드 🤖 (0) | 2026.07.17 |
|---|---|
| 코딩용 노트북 고르는 기준 - 2026 개발자 노트북 추천 💻 (0) | 2026.07.17 |
| VS Code 확장 프로그램 추천 10선 - 개발 효율 2배 올리는 필수 익스텐션 (2026) (0) | 2026.07.13 |
| Claude Sonnet 5 출시! Claude Code 기본 모델 교체 - 달라진 점과 활용법 총정리 🚀 (0) | 2026.07.11 |
| 바이브 코딩(Vibe Coding)이란? Claude Code·Cursor로 AI 코딩 시작하기 (입문 가이드) 🤖 (3) | 2026.07.07 |