← Git

Git 복구하기 | restore, reset, revert 완벽 이해

개발을 하다 보면 파일을 잘못 수정하거나 Commit을 잘못하는 경우가 자주 발생합니다. Git은 이러한 실수를 복구할 수 있도록 다양한 기능을 제공합니다. 이번 강의에서는 git restore, git reset, git revert의 차이점과 사용 방법을 배우고, AI와 협업할 때 프로젝트를 안전하게 복원하는 방법까지 알아보겠습니다.


Git을 사용하는 가장 큰 이유

1강에서 Git을 사용하는 이유를 배웠습니다.

하지만 Git이 사랑받는 가장 큰 이유는 하나가 더 있습니다.

바로

언제든 이전 상태로 되돌릴 수 있다는 것입니다.


개발하다 보면 실수는 반드시 합니다.

예를 들어

회원가입 기능을 완성했습니다.

회원가입 완료

↓

Commit

이후 AI에게

"로그인 기능도 추가해 줘."

라고 요청했습니다.

그런데 AI가

이럴 때 Git이 없다면?

직접 다시 수정해야 합니다.

하지만 Git이 있다면 몇 초 만에 복구할 수 있습니다.


Git 복구 명령어

오늘 배울 명령어는 세 가지입니다.

명령어

역할

git restore

파일 복구

git reset

Commit 되돌리기

git revert

Commit 취소 기록 남기기

비슷해 보이지만 사용하는 상황이 모두 다릅니다.


git restore

가장 많이 사용하는 복구 명령입니다.

예를 들어

index.html을 수정했습니다.

하지만 저장하기 전 상태로 되돌리고 싶습니다.

git restore index.html

그러면 마지막 Commit 상태로 복원됩니다.


restore는 언제 사용할까요?

예를 들어

실수로 코드 삭제

↓

restore

↓

복원 완료

처럼 아직 Commit하지 않은 내용을 취소할 때 사용합니다.


git reset

이번에는 Commit까지 했습니다.

하지만

Commit 자체를 취소하고 싶습니다.

git reset --soft HEAD~1

입니다.


--soft 옵션

Commit 취소

↓

파일은 그대로 유지

즉,

다시 수정한 후 Commit할 수 있습니다.

실무에서 가장 많이 사용하는 방식입니다.


--hard 옵션

git reset --hard HEAD~1

은 매우 강력합니다.

Commit 삭제

↓

파일 삭제

↓

완전 복원

Commit뿐 아니라

수정 내용도 모두 사라집니다.

초보자는 신중하게 사용해야 합니다.


reset은 언제 사용할까요?

예를 들어

Commit

↓

오타 발견

↓

reset

↓

수정

↓

다시 Commit

이런 상황에서 사용합니다.


git revert

reset과 비슷하지만

조금 다릅니다.

git revert CommitID

를 실행하면

기존 Commit을 삭제하는 것이 아니라

취소하는 Commit을 하나 더 생성합니다.


reset과 revert 차이

예를 들어

Commit1

↓

Commit2

↓

Commit3

reset

Commit3 삭제

revert

Commit1

↓

Commit2

↓

Commit3

↓

Commit4

(Commit3 취소)

입니다.

기록을 남기면서 취소하는 방법입니다.


실무에서는 언제 사용할까요?

혼자 개발할 때는

reset을 많이 사용합니다.

협업 프로젝트에서는

revert를 많이 사용합니다.

왜냐하면

다른 개발자의 Commit까지 삭제하면 안 되기 때문입니다.


AI와 협업할 때는?

AI에게

"관리자 페이지 만들어 줘."

라고 요청했습니다.

AI가 프로젝트를 망쳤습니다.

추천하는 방법은

Commit

↓

Branch

↓

AI 작업

↓

오류

↓

restore

또는

reset

입니다.

AI와 개발할 때도

Git이 안전장치 역할을 합니다.


git log 활용하기

복구하기 전에

Commit 기록을 확인합니다.

git log --oneline

예를 들어

91a321 관리자 기능

4bc211 게시판

7aa432 로그인

3bb123 회원가입

원하는 Commit으로 쉽게 돌아갈 수 있습니다.


실무에서는 이렇게 사용합니다.

예를 들어

회원가입 완료

↓

Commit

↓

AI에게 기능 요청

↓

오류 발생

↓

git log

↓

git reset

↓

복원 완료

몇 초 만에

안전한 상태로 되돌릴 수 있습니다.


복구보다 중요한 것

Git은 복구가 가능합니다.

하지만

복구보다 더 중요한 것은

자주 Commit하는 습관입니다.

추천하는 흐름입니다.

기능 완료

↓

Commit

↓

AI 작업

↓

Commit

↓

다음 기능

이렇게 하면

복구도 매우 쉬워집니다.


오늘 배운 명령어

명령어

설명

git restore

파일 복원

git reset --soft

Commit만 취소

git reset --hard

Commit과 파일 모두 복원

git revert

취소 기록을 남기며 복원

git log

Commit 기록 확인


기억하면 좋은 흐름

실수

↓

git log

↓

restore

또는

reset

또는

revert

↓

복원 완료


바이브 코딩에서 가장 중요한 습관

AI와 함께 개발할 때

가장 추천하는 습관입니다.

Commit

↓

AI에게 요청

↓

테스트

↓

문제 발생

↓

즉시 복원

AI는 빠르게 개발해 주지만,

Git은 프로젝트를 안전하게 지켜 줍니다.

두 가지를 함께 사용하는 것이

바이브 코딩의 핵심입니다.


마무리

이번 강의에서는 Git의 복구 기능을 배웠습니다.

Git을 사용하는 이유는 단순히 변경 이력을 남기는 것이 아니라, 실수했을 때 언제든 안전하게 이전 상태로 돌아갈 수 있기 때문입니다.

특히 AI와 함께 개발하는 시대에는 작은 실수 하나가 프로젝트 전체에 영향을 줄 수도 있습니다.

하지만 Commit과 Git의 복구 기능을 잘 활용한다면, 어떤 상황에서도 자신 있게 개발을 이어갈 수 있습니다.

다음 강의에서는 지금까지 배운 내용을 바탕으로 Git을 활용한 실전 프로젝트 관리와 개발 워크플로우를 함께 정리해 보겠습니다.


FAQ

Q1. git restoregit reset은 무엇이 다른가요?

git restore는 아직 Commit하지 않은 파일을 마지막 Commit 상태로 되돌릴 때 사용합니다. git reset은 이미 만든 Commit을 되돌릴 때 사용합니다.


Q2. git reset --hard는 언제 사용해야 하나요?

정말 이전 상태로 완전히 돌아가야 할 때만 사용하세요. 수정한 파일과 Commit이 모두 삭제되므로 신중하게 사용해야 합니다.


Q3. AI가 프로젝트를 크게 수정했다면 어떻게 복구하나요?

AI에게 작업을 맡기기 전에 Commit을 해두었다면 git log로 이전 Commit을 확인한 뒤 git reset이나 git revert를 사용하여 안전하게 복구할 수 있습니다. 이것이 AI 시대에 Git이 필수인 가장 큰 이유 중 하나입니다.

로그인하면 진도를 저장할 수 있습니다.

← 이전 강의: Git 협업하기 | Pull Request와 Conflict 이해하기 다음 강의: Git 실전 프로젝트 워크플로우 | AI 시대 개발자의 Git 사용법 →