🧭 개발자가 알아야 할 Git 기본 명령어 정리
“코드 실수했을 때, 원래 상태로 되돌리는 법 아세요?”
“협업하다가 충돌(conflict) 났을 때, 어떻게 해결하죠?”
개발자라면 이런 상황 한 번쯤 겪는다.
그리고 이 모든 문제의 해답이 바로 Git에 있다.
Git은 단순히 코드를 저장하는 도구가 아니라,
개발의 역사(History)를 기록하고 복구할 수 있는 시간여행 도구다.
이번 글에서는 코딩 입문자도 바로 실무에 쓸 수 있는 Git 명령어 10개를
상황별로 쉽게 정리했다.
#Git기초 #Git명령어 #개발협업
💡 1. Git이란?
“버전 관리 시스템(Version Control System)”
즉, 코드의 모든 변화를 기록하고 복구할 수 있는 시스템이다.
예를 들어,
- 오늘은 로그인 기능을 추가했고,
- 내일은 디자인을 수정했다면,
Git은 그 모든 변화를 시간순으로 저장한다.
💬 한마디로
“Git = 개발자의 타임머신”
🧱 2. Git 초기 설정
처음 한 번만 설정하면 된다 👇
git config --global user.name "Jo Kibeom"
git config --global user.email "kibeom@example.com"
✅ 이름과 이메일은 커밋 기록에 남는 ‘서명’이다.
협업할 때 누가 어떤 코드를 작성했는지 추적 가능하다.
🏗️ 3. 저장소(repository) 생성
🔹 새 프로젝트 시작할 때
git init
현재 폴더에 .git 폴더가 생기며 로컬 저장소가 활성화된다.
🔹 이미 있는 프로젝트 가져오기
git clone https://github.com/user/repo.git
→ 깃허브 등에서 저장소 복제
💬 clone은 ‘가져오기’, init은 ‘처음 만들기’라고 기억하자.
🧩 4. 변경사항 저장하기
Git의 핵심은 **“변경 → 스테이징 → 커밋”**이다.
git add 파일명.js # 스테이징 (변경사항 등록)
git commit -m "로그인 기능 추가" # 커밋 (저장)
또는 한 번에:
git add .
git commit -m "홈페이지 초기화면 구성"
💡 add는 사진 찍기 준비,
commit은 실제로 사진을 저장하는 과정이다.
🔄 5. 상태 확인
git status
현재 어떤 파일이 수정되었는지, 커밋이 필요한지 알려준다.
git log
과거 커밋 내역 확인 (작성자, 시간, 메시지 포함)
git diff
변경된 코드의 차이점 표시
💬 git log --oneline
→ 커밋 내역을 한 줄씩 간단히 확인할 수 있다.
🌿 6. 브랜치(branch)
“독립된 작업 공간”
한 프로젝트에서 여러 기능을 동시에 개발하기 위한 구조다.
git branch # 브랜치 목록 보기
git branch feature/login # 새 브랜치 생성
git checkout feature/login # 브랜치 이동
💡 요즘은 checkout 대신 다음 명령어도 사용한다:
git switch -c feature/login
✅ 메인(main) 브랜치에는 완성된 코드만 남기고,
새 기능은 별도 브랜치에서 작업 후 합치는 게 원칙이다.
⚔️ 7. 병합(merge)
작업을 마친 브랜치를 **메인(main)**에 합칠 때 사용한다.
# 1. main 브랜치로 이동
git switch main
# 2. 다른 브랜치 병합
git merge feature/login
💡 만약 코드가 겹치면 ‘충돌(conflict)’이 발생한다.
이때는 직접 수정 후 git add → git commit으로 해결.
⏪ 8. 되돌리기 (reset / revert)
🔹 최근 커밋 취소
git reset --soft HEAD~1
→ 마지막 커밋만 취소하고, 코드는 그대로 유지
🔹 완전히 되돌리기
git reset --hard HEAD~1
→ 코드까지 이전 버전으로 되돌림
🔹 이미 push한 실수 되돌리기
git revert 커밋ID
→ 되돌리는 전용 커밋을 생성 (팀 협업 시 안전)
⚠️ 협업 중에는 reset --hard 사용 금지!
(다른 사람의 작업 내용까지 사라질 수 있음)
☁️ 9. 원격 저장소 연결 및 푸시(push)
git remote add origin https://github.com/user/repo.git
git push -u origin main
이후에는 간단히:
git push
💡 origin은 깃허브 주소의 별칭이다.
push는 로컬 저장소의 변경 내용을 깃허브에 반영한다.
🔄 10. pull & fetch (업데이트 받기)
🔹 최신 코드 가져오기
git pull
→ 원격 저장소의 변경사항을 자동 병합
🔹 미리 확인만 하고 싶을 때
git fetch
→ 가져오되 병합하지 않음
💬 팀 작업 시 항상 작업 전 git pull 먼저!
🧠 보너스: 자주 쓰는 단축 명령어
명령어 설명
| git log --oneline --graph | 브랜치 흐름 시각화 |
| git stash | 현재 작업 임시 저장 |
| git restore 파일명 | 파일 변경 취소 |
| git tag | 버전 태그 생성 (v1.0.0 등) |
| git blame 파일명 | 누가 수정했는지 추적 |
🚀 실무에서의 Git 활용 팁
- 커밋 메시지는 명확하게!
→ "fix: 로그인 오류 수정", "feat: 회원가입 기능 추가" - 작업 단위를 작게 나누기
→ 한 커밋에는 하나의 기능만 담기 - 브랜치 네이밍 통일하기
→ feature/기능명, fix/버그명, hotfix/긴급수정 - 충돌은 두려워하지 말고 읽어라.
→ Git이 어떤 부분이 겹쳤는지 친절히 알려준다.
🏁 마무리 — “Git을 모르면, 개발을 잃는다”
Git은 개발자의 안전망이다.
한 줄 실수로 코드를 날려도, 커밋 하나면 복구할 수 있다.
💬 “Git을 모르면 두렵고, 알면 든든하다.”
이제 터미널을 열고 이렇게 입력해보자:
git init
이 한 줄이 당신의 첫 협업을 가능하게 하는 시작점이 될 것이다.