모든 소프트웨어 엔지니어가 사용하는 15가지 Git 명령 (그리고 그것이 생각보다 중요한 이유)

발행: (2026년 1월 20일 오후 03:06 GMT+9)
9 min read
원문: Dev.to

I’m happy to translate the article for you, but I need the actual text you’d like translated. Could you please paste the content (or the portion you want translated) here? Once I have the text, I’ll provide the Korean translation while keeping the source line and all formatting exactly as you requested.

Introduction

오랫동안 나는 Git을 단순히 살아남아야 할 무언가라고 생각했다—명령을 입력하고, 외우고, 제대로 동작하기를 바라는 식이었다. Git은 모든 실수를 기억하기 때문에 위압감이 느껴졌지만, 그것을 마법처럼 여기지 않고 판단받지 않는 도구라는 사실을 받아들이면 학습에 대한 압박이 크게 줄어든다. 50개의 명령이 필요하지 않다; 차분하고 의도적으로 사용할 15개의 핵심 명령만으로도 실제 작업 흐름의 대부분을 커버할 수 있다.

git status — 현재 저장소 상태 확인

수정되었거나, 스테이징 되었거나, 추적되지 않았거나, 커밋 준비가 된 파일을 보여준다.

git status

Common mistake
출력 결과를 먼저 확인하지 않고 git status를 실행한 뒤 잘못된 파일을 커밋하거나 삭제한다.

git init — 새 Git 저장소 초기화

프로젝트 디렉터리에 버전 관리 추적을 추가하여 새로운 Git 저장소를 만든다.

git init

Common mistake
이미 초기화된 저장소 안에서 git init을 실행해 중첩된 .git 폴더가 생기고 Git이 혼란스러워진다.

git clone — 원격 저장소를 로컬에 복제

원격 저장소를 다운로드하고 커밋 히스토리를 포함한 전체 로컬 복사본을 만든다.

git clone 

git add — 다음 커밋을 위한 변경사항 스테이징

파일 변경을 스테이징 영역으로 이동시켜 다음 커밋에 포함될 수 있게 한다.

git add .          # 현재 디렉터리의 모든 파일을 스테이징
git add *          # 셸이 확장하는 모든 파일(숨김 파일 포함)을 스테이징
git add -A         # 삭제를 포함한 모든 변경을 스테이징

Common mistake
git add .를 무분별하게 사용해 의도하지 않은 파일(예: 대용량 바이너리나 비밀 파일)까지 스테이징한다.

git commit — 변경 사항을 스냅샷으로 저장

스테이징된 변경을 프로젝트 히스토리에 설명 메시지와 함께 스냅샷으로 기록한다.

git commit -m "Your concise, descriptive message"

Common mistake
의미 없는 메시지로 커밋하거나, 의도한 변경을 먼저 스테이징하지 않은 채 커밋한다.

git log — 커밋 히스토리 보기

이전 커밋 목록을 표시하며, 변경 내용, 작성자, 타임스탬프 등을 보여준다.

git log
git log --oneline --graph --decorate   # 간결하고 시각적인 뷰

Common mistake
git log가 현재 브랜치의 히스토리만 보여줄 것이라고 착각하고, 필터링하지 않으면 다른 브랜치에서 병합된 커밋까지 포함될 수 있다.

git diff — 무엇이 바뀌었는지 확인

파일 버전, 커밋, 브랜치 간의 라인‑별 차이를 보여준다.

git diff                # 스테이징되지 않은 변경
git diff --staged       # 스테이징된 변경
git diff HEAD~1 HEAD    # 두 커밋 사이의 변경

Common mistake
git diff 검토를 건너뛰고 정확히 어떤 부분이 바뀌었는지 모른 채 코드를 커밋한다.

git branch — 병렬 개발 관리

별도의 개발 라인을 위해 브랜치를 생성, 목록 확인, 이름 변경, 삭제한다.

git branch               # 브랜치 목록
git branch feature-x     # 새 브랜치 생성
git branch -d old-branch  # 브랜치 삭제

Common mistake
특성 브랜치를 만들지 않고 main(또는 master)에서 직접 작업해 히스토리가 뒤섞인다.

git checkout / git switch — 브랜치 간 안전하게 이동

두 명령 모두 브랜치를 전환한다; git switch가 더 새롭고 명확한 대안이다.

git checkout feature-x          # 기존 문법
git switch feature-x             # 권장 문법
git checkout  --  # 특정 커밋에서 파일 복원

Common mistake
커밋을 지정하지 않은 채 git checkout으로 파일을 복원해 로컬 변경 사항을 의도치 않게 버린다.

git merge — 서로 다른 브랜치의 변경 합치기

한 브랜치의 변경을 다른 브랜치에 통합해 히스토리를 결합한다.

git checkout main
git merge feature-x

Common mistake
원격의 최신 변경을 먼저 풀(pull)하지 않은 상태에서 병합해 불필요한 충돌을 초래한다.

git pull — 로컬 저장소 업데이트

원격 저장소에서 변경을 가져와 로컬에 통합한다.

Source:

to your current branch (by merge or rebase, depending on configuration).

git pull               # default (usually merge)
git pull --rebase      # rebase instead of merge

Common mistake
Running git pull on a dirty working tree, which can cause merge conflicts or abort the operation.

git push — 커밋을 다른 사람과 공유하기

Uploads your local commits to a remote repository so others can access them.

git push origin main
git push -u origin feature-x   # set upstream tracking

Common mistake
Pushing commits that haven’t been reviewed or that rewrite shared history (e.g., after a git reset --hard).

git stash — 작업 중인 변경 사항을 임시 저장하기

Stores uncommitted changes so you can return to a clean working directory.

git stash               # save current changes
git stash list          # view saved stashes
git stash pop           # reapply the most recent stash and remove it
git stash apply stash@{2}  # apply a specific stash without dropping it

Common mistake
Forgetting to apply or drop a stash, leaving hidden changes that later cause confusion.

git reset — 제어된 방식으로 변경 사항 되돌리기

Moves the current branch pointer and optionally updates the staging area and working directory.

git reset --soft HEAD~1   # keep changes staged
git reset --mixed HEAD~1  # default: keep changes unstaged
git reset --hard HEAD~1   # discard all changes

Common mistake
Using --hard without realizing it permanently discards work, especially on shared branches.

git revert — 공유 히스토리에서 안전하게 변경 사항 되돌리기

Creates a new commit that reverses the effects of a previous commit without rewriting history.

git revert 

Common mistake
Choosing git reset on a shared branch instead of git revert, which rewrites history and disrupts teammates.

Git에 대한 자신감 키우기

Git에 대한 자신감은 갑자기 생기는 것이 아니라, 핵심 명령어들을 의도적으로 사용하면서 천천히 쌓입니다. 언젠가 당황함을 멈추고 git status를 주저 없이 실행하며 각 명령어가 정확히 무엇을 하는지 알게 될 것입니다.

Tip: 명령어를 무작정 복사하지 마세요. 각 작업의 의도를 이해하고, Git이 불안의 원천이 아니라 신뢰할 수 있는 도구가 되도록 하세요.

커밋을 즐기세요! 💙

Back to Blog

관련 글

더 보기 »

초보자를 위한 Git Bash와 GitHub 소개

Git이란 무엇인가? Git은 코드나 모든 파일의 변화를 시간에 따라 추적하는 무료 오픈‑소스 버전 컨트롤 시스템이다. 개발자들은 다음과 같은 일을 할 수 있다: - 프로젝트 작업…

Git 초보자를 위한 가이드

소개 Git은 개발자와 분석가가 변경 사항을 추적하고 협업하며 프로젝트 히스토리를 관리하는 데 사용하는 무료 오픈‑source 버전 컨트롤 시스템입니다.

Gitbash 및 Github 소개

정의 - Git은 모든 규모의 프로젝트를 처리하도록 설계된 널리 사용되는 무료 오픈소스 시스템입니다. 개발자가 코드의 변경 사항을 추적하고 f...