프론트엔드 프로젝트를 진행하면서 코딩 자체보다 나를 더 식은땀 흘리게 만들었던 순간은 단연 'Git 명령어 실수'였습니다.
로직을 신나게 짜두고 커밋 하나 잘못 날려서 수시간 동안 작업했던 코드를 날려먹을 뻔하거나, Git Merge 충돌이 무서워서 소스 코드를 압축 파일로 복사해 두는 웃지 못할 삽질을 겪기도 했습니다.
오늘은 제가 프론트엔드 프로젝트를 진행하며 직접 겪었던 대표적인 Git 실수 3가지와, 이를 깔끔하게 해결했던 복구 명령어(Tip)를 정돈해 보려고 합니다.
1. 실수 1: 잘못된 브랜치에 코드를 다 짜놓았을 때 (git stash)
feature/login 브랜치에서 작업해야 하는데, 깜빡하고 main 브랜치나 다른 작업 브랜치에서 열심히 코드를 수정하고 있던 자신을 뒤늦게 발견했을 때입니다.
아직 커밋은 하지 않았는데 브랜치를 이동하자니 오류가 뜨고, 작업해 둔 코드가 날아갈까 봐 당황했던 기억이 있습니다.
💡 해결 방법: 임시 저장창고 git stash 활용하기
# 1. 현재 작업 중인 변경사항을 임시 저장소에 싹 감춰둡니다.
git stash
# 2. 올바른 작업 브랜치로 이동합니다.
git checkout feature/login
# 3. 임시 저장소에 있던 변경사항을 새로 이동한 브랜치에 꺼내옵니다.
git stash pop
이 3줄의 명령어만 알면 잘못된 브랜치에서 작성하던 코드를 안전하게 원하는 브랜치로 이사시킬 수 있습니다.
2. 실수 2: 커밋 메시지를 오타 내거나 파일을 빼먹고 커밋했을 때 (git commit --amend)
커밋을 날리자마자 커밋 메시지에 오타가 들어갔거나, 같이 올려야 하는 스타일 파일(CSS)을 빼먹고 커밋을 올렸다는 것을 깨달았을 때입니다. 새로운 커밋을 하나 더 만들자니 Git 히스토리가 지저분해져서 고민이었습니다.

💡 해결 방법: 직전 커밋 덮어쓰기 --amend
# 빼먹은 파일이 있다면 먼저 Stage에 올립니다.
git add src/styles/main.css
# 직전 커밋 메시지를 수정하거나 파일을 포함해 덮어씁니다.
git commit --amend -m "fix: 올바른 커밋 메시지 수정"
이미 날린 직전 커밋을 새 커밋으로 더럽히지 않고 깔끔하게 수정할 수 있습니다.
3. 실수 3: 코드 수정 중 전으로 돌리고 싶을 때 (git restore & git reset)
코드를 이것저것 고치다가 망해서 "아, 그냥 오늘 작업하기 전 상태로 싹 되돌리고 싶다" 할 때가 있습니다. 수동으로 Ctrl + Z를 수십 번 누르다가 코드가 엉키는 참사를 겪곤 했습니다.
💡 해결 방법: 상황별 되돌리기 명령어
- 아직 커밋하지 않은 파일의 변경사항 취소하기:
-
Bash
git restore src/App.tsx - 직전 커밋을 취소하되 작성한 코드는 남겨두기 (Soft Reset):
-
Bash
git reset HEAD~1 - 지워진 커밋 찾아오기 (git reflog):
- 실수로 git reset --hard를 눌러서 커밋이 지워졌더라도 당황하지 마세요. Git은 모든 행동을 기록해 둡니다. git reflog를 치면 삭제된 커밋 ID를 찾아 원상복구할 수 있습니다!

4. 글을 마치며
Git은 단순히 소스 코드를 저장하는 구글 드라이브가 아니라, 개발자의 실수를 언제든 안전하게 과거로 되돌려주는 강력한 타임머신입니다.
명령어가 익숙지 않다고 두려워하기보다는, 직접 브랜치를 만들어보고 stash나 reset 명령어를 연습해 보면서 Git과 친해지시기를 추천합니다. 실수해도 복구하는 방법을 알면 개발이 훨씬 더 자신감 넘쳐집니다!
'개발' 카테고리의 다른 글
| [React] useState와 useEffect 실무 적용 중 겪었던 3가지 초보적 실수와 해결책 (0) | 2026.07.28 |
|---|---|
| [CSS] Tailwind CSS 도입 후기: BEM 클래스명 지옥 탈출과 가독성 극복 전략 (0) | 2026.07.28 |
| [Web] 웹 액세서빌러티(A11y): 모두를 위한 접근성 높은 인터페이스 구축 (1) | 2026.05.06 |
| [Future] AI 도구와 Wasm을 직접 써보며 느낀 프론트엔드 개발자의 미래와 고민 (0) | 2026.05.05 |
| [Performance] 이미지 용량 다이어트 잔혹사: WebP 변환과 Lazy Loading으로 LCP 점수 극복한 후기 (0) | 2026.05.04 |