어제 오늘 내일

[Git] 실수로 올린 파일 내리기: git add 취소하기 (Unstage) 본문

IT/Git

[Git] 실수로 올린 파일 내리기: git add 취소하기 (Unstage)

hi.anna 2026. 2. 8. 14:36

git add를 했다는 것은 커밋을 하기 전 '장바구니'에 파일을 담은 상태입니다.

장바구니에서 파일을 다시 빼는 방법은 Git 버전에 따라 두 가지 명령어를 주로 사용합니다.
 
 

1. 가장 권장되는 방법: git restore (Git 2.23 버전 이상)

최신 Git 버전에서 도입된 명령어로, 의미가 직관적이라 가장 추천하는 방법입니다.

  • 특정 파일 하나만 취소하기:
    git restore --staged [파일명]
    
  • 모든 add 취소하기
    git restore --staged .
    (여기서 --staged 옵션은 "장바구니(스테이징)에서만 빼고 파일 내용은 그대로 둬라"라는 뜻입니다.)

 

2. 전통적인 방법: git reset

오래전부터 쓰이던 방식으로, 많은 튜토리얼에서 소개하는 방법입니다. 결과는 위와 동일합니다.

  • 특정 파일 하나만 취소하기
    git reset HEAD [파일명]
    
  • 전체 취소하기
    git reset HEAD

 

3. 실제 예시와 출력 결과

상황을 가정해 봅시다. README.md만 올려야 하는데 실수로 비밀번호.txt까지 add 해버렸을 때입니다.

① 현재 상태 확인 (git status)

$ git status
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    new file:   README.md
    new file:   비밀번호.txt  <-- ❌ 빼고 싶은 파일

② 취소 명령어 실행

$ git restore --staged 비밀번호.txt

③ 결과 확인

$ git status
Changes to be committed:
  (new file:   README.md)

Untracked files:
  (비밀번호.txt)  <-- ✅ 장바구니에서 안전하게 빠졌습니다!

 

💡 실무 꿀팁

  • 코드가 날아갈까 봐 걱정되시나요?
    위 명령어들은 '장바구니'에서만 빼는 것이지, 여러분이 정성껏 작성한 파일 내용 자체를 삭제하지는 않습니다. 안심하고 사용하세요.
  • GUI 도구 활용 (VS Code):
    터미널이 귀찮다면 VS Code 왼쪽 '소스 제어' 탭에서 Staged Changes 목록에 있는 파일 옆의 [-] (Unstage Changes) 버튼을 누르면 클릭 한 번으로 취소됩니다.

 

📝 요약

상황 명령어
특정 파일만 add 취소 git restore --staged [파일명]
전체 add 취소 git restore --staged .
명령어가 기억 안 날 때 git status를 치면 가이드가 나옵니다!

 
 
 

반응형
Comments