🔹 배경
어제 배운 git add와 git commit은 변경 사항이 생겼을 때 버전 정보를 업데이트하는 과정이에요.
그렇다면, 이전 버전으로 돌아가려면 어떻게 해야 할까요? 🤔
오늘은 git reset과 git restore를 활용해 과거로 되돌아가는 방법을 알아볼게요!
1️⃣ 이전 버전으로 복구하는 방법
(1) Git의 구조 이해하기
Git에서는 파일을 수정하면,
1️⃣ **작업 트리(Working Directory)**에서 변경된 내용을
2️⃣ git add 명령어로 **스테이징 영역(Staging Area)**에 올린 뒤
3️⃣ git commit을 실행해 **저장소(Repository)**에 저장해요.
반대로 이전 상태로 되돌릴 때는 아래 명령어를 사용하면 돼요.
✅ git reset → 특정 커밋으로 돌아가기
✅ git restore --staged <파일명> → 스테이징된 파일 취소
✅ git restore <파일명> → 작업 트리에서 수정한 내용 취소
(2) git reset - 특정 커밋으로 되돌리기
git reset은 생성된 버전(커밋)에서 다시 과거 버전으로 돌아갈 때 사용하는 명령어예요.
1️⃣ 되돌아갈 커밋 해시 확인하기

2️⃣ 특정 커밋으로 되돌리기 (해당 커밋 이후 변경 사항 삭제됨)

3️⃣ 이전 커밋으로 되돌리기 (변경 사항 유지)

💡 --soft 옵션을 사용하면 변경 사항이 유지돼요!
(3) git restore --staged <파일명> - 스테이징 취소
파일을 git add로 스테이징했는데, 다시 취소하고 싶을 때 사용해요.
1️⃣ 현재 상태 확인

💡 "Changes to be committed" 상태라면 스테이징된 상태예요.
2️⃣ 스테이징 해제

3️⃣ 변경 사항 확인

💡 파일이 다시 "Untracked files" 상태로 돌아갔다면 성공! 🎉
(4) git restore <파일명> - 수정된 파일 되돌리기
파일을 수정했는데 다시 원래 상태로 돌리고 싶다면? git restore를 사용하면 돼요!
1️⃣ 수정된 파일 확인하기

💡 아래처럼 modified 상태로 나오면 변경된 파일이 있다는 뜻이에요.

2️⃣ 변경 사항 취소

3️⃣ 정상적으로 복구됐는지 확인

💡 modified 표시가 사라졌다면 성공! 🎉
📌 정리
✔️ git reset → 특정 커밋으로 되돌아가기
✔️ git restore --staged → 스테이징된 파일 취소
✔️ git restore → 변경된 파일을 원래 상태로 복구
Git에서 실수했을 때 당황하지 말고 차근차근 복구하면 돼요! 😉
📖 참고 자료
- "깃&깃허브 입문" – 이지스퍼블리싱
'프로그래밍 > GIT' 카테고리의 다른 글
(1-3) git 버전관리 - n번째 버전 만들기 (0) | 2022.09.28 |
---|---|
(1-2) git 버전 관리 - 첫번째 버전 만들기 (0) | 2022.09.27 |
(1-1) git 버전관리 - 사용자 등록 (0) | 2022.09.26 |
(1) Git add, commit 버전 관리 (저장소 및 버전 생성) (0) | 2022.06.26 |
(0) GIT 이란? (0) | 2022.06.25 |