Git 복구하기 | restore, reset, revert 완벽 이해
개발을 하다 보면 파일을 잘못 수정하거나 Commit을 잘못하는 경우가 자주 발생합니다. Git은 이러한 실수를 복구할 수 있도록 다양한 기능을 제공합니다. 이번 강의에서는 git restore, git reset, git revert의 차이점과 사용 방법을 배우고, AI와 협업할 때 프로젝트를 안전하게 복원하는 방법까지 알아보겠습니다.
Git을 사용하는 가장 큰 이유
1강에서 Git을 사용하는 이유를 배웠습니다.
변경 이력 관리
협업
AI와 안전한 개발
하지만 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 restore와 git 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이 필수인 가장 큰 이유 중 하나입니다.
로그인하면 진도를 저장할 수 있습니다.