홈 › Git › 03 / 8

되돌리기

섹션 7진행 0 / 8

되돌리기 — restore·reset·revert·stash·reflog 로 실수를 안전하게 복구하기

되돌리기는 딱 하나의 명령이 아니라 "어느 공간의 무엇을 되돌리는가"에 따라 명령이 갈립니다. 작업 트리(working tree)는 restore, 스테이징(staging, index)은 restore --staged, 개인 커밋(commit)은 reset, 이미 공유된 커밋은 revert, 잠시 치워둘 작업은 stash 를 씁니다. 마지막 안전망인 reflog 까지 익히면 reset --hard 로 잃은 커밋도 되찾을 수 있습니다.

1. 왜 배우는가

실수는 늘 일어납니다. 파일을 잘못 고치거나, 커밋 메시지를 오타 내거나, 합치면 안 되는 브랜치(branch)를 합칠 수 있습니다. 중요한 것은 실수 자체가 아니라 되돌리는 방법을 정확히 아는 것입니다.

git 은 대부분의 실수를 되돌릴 수 있게 설계됐습니다. 다만 명령마다 되돌리는 범위와 위험도가 다릅니다. restore 는 안전하지만 reset --hard 와 clean -fd 는 데이터를 진짜로 지웁니다.

이 레슨은 다섯 가지 되돌리기 명령을 상황별로 정리하고, 마지막 안전망인 reflog 를 다룹니다. 예제는 커밋 3개를 만든 저장소를 기준으로 모든 명령을 실제로 실행해 결과를 보여줍니다.