git

🧭 개발자가 알아야 할 Git 기본 명령어 정리

mirabo01 2025. 11. 4. 09:04

 


“코드 실수했을 때, 원래 상태로 되돌리는 법 아세요?”
“협업하다가 충돌(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 활용 팁

  1. 커밋 메시지는 명확하게!
    → "fix: 로그인 오류 수정", "feat: 회원가입 기능 추가"
  2. 작업 단위를 작게 나누기
    → 한 커밋에는 하나의 기능만 담기
  3. 브랜치 네이밍 통일하기
    → feature/기능명, fix/버그명, hotfix/긴급수정
  4. 충돌은 두려워하지 말고 읽어라.
    → Git이 어떤 부분이 겹쳤는지 친절히 알려준다.

🏁 마무리 — “Git을 모르면, 개발을 잃는다”

Git은 개발자의 안전망이다.
한 줄 실수로 코드를 날려도, 커밋 하나면 복구할 수 있다.

💬 “Git을 모르면 두렵고, 알면 든든하다.”

이제 터미널을 열고 이렇게 입력해보자:

git init

이 한 줄이 당신의 첫 협업을 가능하게 하는 시작점이 될 것이다.