Git 작업 되돌리기 완벽 가이드 🚀 | restore & reset 명령어 활용법
Git에서 실수로 파일을 수정했거나, 특정 커밋을 취소하고 싶을 때 어떻게 해야 할까요?
이번 가이드에서는 Git 작업을 되돌리는 다양한 방법을 설명하겠습니다! 🎯
안녕하세요, 여러분! 😊
Git을 사용하다 보면 코드를 실수로 변경하거나, 특정 버전으로 되돌려야 하는 경우가 있습니다.
❓ "작업 트리에서 수정한 파일을 원래대로 되돌릴 수 있을까?"
❓ "스테이징된 변경 사항을 취소하려면 어떻게 해야 할까?"
❓ "최신 커밋을 되돌리거나 특정 커밋으로 이동하는 방법이 궁금해!"
이 글에서는 Git에서 변경 사항을 되돌리는 다양한 방법을 실전 예제와 함께 쉽게 설명하겠습니다.
이제 Git의 강력한 되돌리기 기능을 자유롭게 활용해 봅시다! 🚀
📌 목차
1. 작업 트리에서 수정한 파일 되돌리기 (git restore) 🔄
Git을 사용하다 보면 파일을 수정했지만, 아직 스테이징하거나 커밋하지 않은 상태에서 변경 사항을 원래대로 되돌리고 싶을 때가 있습니다.
이때 git restore
명령어를 사용하면 변경된 파일을 되돌릴 수 있습니다.
수정한 파일을 원래 상태로 되돌리는 방법
# 변경된 파일을 되돌리기
$ git restore filename.txt
# 모든 변경된 파일을 되돌리기
$ git restore .
위 명령어를 실행하면, 해당 파일이 마지막 커밋된 상태로 되돌아갑니다.
즉, git status
에서 "Changes not staged for commit"에 표시된 파일이 원래 상태로 복구됩니다.
되돌리기 전에 확인해야 할 사항
-
git restore
를 실행하면 되돌린 파일의 변경 내용이 삭제되므로 신중하게 사용해야 합니다. - 되돌리기 전에
git diff filename.txt
명령어로 변경 내용을 확인하는 것이 좋습니다. - 중요한 변경 사항이라면
git stash
를 사용하여 임시 저장하는 것도 좋은 방법입니다.
이제 git restore
명령어를 사용하여 작업 트리에서 변경된 파일을 되돌리는 방법을 살펴보았습니다.
다음 섹션에서는 스테이징된 변경 사항을 되돌리는 방법을 알아보겠습니다! 🚀
2. 스테이징된 변경 사항 되돌리기 (git restore --staged) 🔄
파일을 git add
로 스테이징했지만, 이 파일을 다시 스테이징 해제(Unstage)해야 하는 경우가 있습니다.
이때 git restore --staged
명령어를 사용하면 스테이징 상태를 취소할 수 있습니다.
스테이징된 파일을 되돌리는 방법
# 특정 파일의 스테이징 해제
$ git restore --staged filename.txt
# 모든 파일의 스테이징 해제
$ git restore --staged .
이 명령어를 실행하면 해당 파일이 Staged 상태에서 Unstaged 상태로 변경됩니다.
즉, 파일의 변경 사항은 유지되지만, 커밋되지 않도록 상태가 변경됩니다.
되돌리기 전에 확인해야 할 사항
-
git restore --staged
를 실행하면 파일이 스테이징 해제되지만, 수정된 내용은 유지됩니다. - 만약 변경 사항까지 되돌리려면
git restore filename.txt
를 함께 실행해야 합니다. - 여러 파일을 한 번에 되돌리고 싶다면
git restore --staged .
을 사용하면 됩니다.
이제 git restore --staged
명령어를 사용하여 스테이징된 변경 사항을 되돌리는 방법을 익혔습니다.
다음 섹션에서는 최신 커밋을 되돌리는 방법을 알아보겠습니다! 🚀
3. 최신 커밋 되돌리기 (git reset HEAD^) 🔄
Git에서 가장 최근 커밋을 취소하고 싶다면 git reset
명령어를 사용할 수 있습니다.
이 명령어는 최근 커밋을 삭제하거나 특정 상태로 되돌리는 기능을 합니다.
최근 커밋을 되돌리는 방법
# 최신 커밋을 취소하고, 변경 사항을 스테이징 상태로 유지
$ git reset --soft HEAD^
# 최신 커밋을 취소하고, 변경 사항을 작업 트리로 이동 (스테이징 해제)
$ git reset --mixed HEAD^
# 최신 커밋을 취소하고, 모든 변경 사항을 삭제 (되돌릴 수 없음)
$ git reset --hard HEAD^
위 명령어를 실행하면 가장 최근 커밋이 취소되며, 사용한 옵션에 따라 변경 사항이 다르게 처리됩니다.
옵션별 차이점 비교
옵션 | 설명 |
---|---|
--soft | 커밋만 취소하고, 변경 사항을 그대로 스테이징 상태로 유지 |
--mixed | 커밋을 취소하고, 변경 사항을 스테이징 해제 |
--hard | 커밋을 취소하고, 변경 사항까지 완전히 삭제 (주의!) |
되돌리기 전에 확인해야 할 사항
-
--hard
옵션을 사용할 경우 모든 변경 사항이 삭제되므로 신중하게 사용해야 합니다. - 실수로 변경 사항을 삭제했을 경우
git reflog
명령어를 사용하여 복구할 수 있습니다.
이제 git reset HEAD^
명령어를 사용하여 최신 커밋을 되돌리는 방법을 익혔습니다.
다음 섹션에서는 특정 커밋으로 되돌리는 방법을 알아보겠습니다! 🚀
4. 특정 커밋으로 되돌리기 (git reset 해시) ⏪
Git에서 특정 시점의 커밋으로 되돌리고 싶다면, git reset
명령어와 해시값(SHA-1)을 사용하면 됩니다.
이 방법을 사용하면 원하는 특정 커밋 시점으로 이동할 수 있습니다.
특정 커밋으로 되돌리는 방법
# 특정 커밋으로 이동 (스테이징 상태 유지)
$ git reset --soft <커밋 해시>
# 특정 커밋으로 이동 (스테이징 해제)
$ git reset --mixed <커밋 해시>
# 특정 커밋으로 이동 (변경 사항 삭제, 신중히 사용!)
$ git reset --hard <커밋 해시>
먼저 git log --oneline
명령어를 실행하여 원하는 커밋의 해시를 확인한 후,
위 명령어를 실행하면 해당 커밋으로 이동할 수 있습니다.
되돌리기 전에 확인해야 할 사항
-
--hard
옵션을 사용하면 변경 사항이 완전히 삭제되므로 주의가 필요합니다. - 실수로 되돌린 경우
git reflog
명령어를 사용하여 복구할 수 있습니다.
🔚 마무리: Git 작업 되돌리기 완벽 정리 🚀
이제 Git에서 작업을 되돌리는 다양한 방법을 확실히 이해하셨나요?
Git은 강력한 버전 관리 시스템으로, 필요할 때 쉽게 되돌릴 수 있도록 다양한 기능을 제공합니다.
✔️ git restore
– 작업 트리에서 변경 사항 취소
✔️ git restore --staged
– 스테이징된 변경 사항 취소
✔️ git reset HEAD^
– 최신 커밋 되돌리기
✔️ git reset <커밋 해시>
– 특정 커밋으로 되돌리기
🚀 Git을 더욱 효과적으로 활용하는 팁
- 되돌리기 전에는 항상
git status
와git log
를 확인하세요. - 실수로 되돌린 경우
git reflog
를 사용하여 복구할 수 있습니다.
'Git' 카테고리의 다른 글
Git 다른 브랜치의 서로 다른 파일 병합 : 충돌 없는 안전한 Merge 가이드 (0) | 2025.03.21 |
---|---|
Git Branch 완벽 가이드 : 브랜치 생성부터 삭제까지 (1) | 2025.03.20 |
Git 단계별 파일 상태 확인 : Untracked → Staged → Committed 완벽 가이드 (0) | 2025.03.19 |
Git 변경사항 확인 방법 : 파일 변경 추적부터 차이 비교까지 완벽 가이드 (0) | 2025.03.19 |
Git Commit 기록 확인 방법 🚀 | 커밋 히스토리 완벽 정리 (0) | 2025.03.18 |