소프트웨어 엔지니어가 실제로 알아야 할 20개 이상의 Git 명령어

발행: (2026년 1월 31일 오후 01:07 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Git Commands Basics

git init

현재 디렉터리에 새로운 Git 저장소를 생성합니다.

git init

git clone

원격 저장소를 로컬 머신으로 다운로드합니다.

git clone 

git status

파일들의 현재 상태(수정됨, 스테이징됨, 추적되지 않음)를 보여줍니다.

git status

git add

파일을 스테이징하여 다음 커밋에 포함되도록 합니다.

git add .
git add file.js

git commit

스테이징된 변경을 메시지와 함께 스냅샷으로 저장합니다.

git commit -m "message"

git push

로컬 커밋을 원격 저장소에 업로드합니다.

git push origin main

git pull

원격 변경을 가져와 현재 브랜치에 병합합니다.

git pull

git branch

브랜치를 목록화하거나 새 브랜치를 생성합니다.

git branch
git branch feature-x

git checkout

브랜치를 전환하거나 파일을 복원합니다.

git checkout feature-x

git switch

브랜치를 전환하는 더 깔끔하고 현대적인 방법입니다.

git switch main

git merge

다른 브랜치를 현재 브랜치에 병합합니다.

git merge feature-x

git log

현재 브랜치의 커밋 히스토리를 보여줍니다.

git log --oneline --graph

git reset

HEAD를 이동하고 선택적으로 커밋이나 변경을 버립니다.

git reset --soft HEAD~1
git reset --hard HEAD~1

git revert

이전 커밋을 안전하게 되돌리는 새 커밋을 생성합니다.

git revert 

git checkout --

특정 파일에 대한 로컬 변경을 버립니다.

git checkout -- index.js

git stash

커밋되지 않은 변경을 일시적으로 저장합니다.

git stash
git stash pop

git stash list

저장된 모든 스태시를 보여줍니다.

git stash list

git remote -v

설정된 원격 저장소를 표시합니다.

git remote -v

git fetch

원격 변경을 다운로드하지만 병합하지는 않습니다.

git fetch

git diff

파일, 커밋, 혹은 스테이징 영역 간의 차이를 보여줍니다.

git diff
git diff --staged

git blame

파일의 각 라인을 마지막으로 수정한 사람을 보여줍니다.

git blame file.js

git show

특정 커밋에 대한 자세한 정보를 표시합니다.

git show 

git clean

작업 디렉터리에서 추적되지 않은 파일을 제거합니다.

git clean -fd

git reflog

삭제되었거나 잃어버린 커밋까지 포함해 HEAD의 모든 이동을 보여줍니다.

git reflog

Tips for Senior Engineers

  • git status를 지속적으로 확인하세요.
  • 공유 브랜치에서는 git reset보다 git revert를 선호하세요.
  • 위험한 병합을 하기 전에 git fetch를 사용하세요.
  • 문제가 발생했을 때는 git reflog에 의존하세요.

Git은 단순한 버전 관리가 아니라 여러분의 안전망입니다. 모든 명령을 외울 필요는 없으며, 문제가 생겼을 때 복구할 수 있을 정도로 충분히 이해하는 것이 중요합니다. 이 명령들을 마스터하면 더 빠르게 작업하고, 패닉을 줄이며, 협업이 개선됩니다. Git을 모르는 것은 엔지니어로서의 역량을 떨어뜨릴 수 있습니다.

Back to Blog

관련 글

더 보기 »