로컬 변경 사항 되돌리기
파일의 스테이징을 취소하고 이전 커밋을 수정하는 방법을 포함하여 로컬 변경 사항을 되돌리거나 재설정하는 다양한 방법을 배우세요.
로컬 변경 사항 되돌리기은(는) CoddyKit의 무료 Git & GitHub Professional Workflow 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Git & GitHub Professional Workflow 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Git & GitHub Professional Workflow 강의에는 총 4개의 강의가 포함되어 있습니다.
잠깐! 로컬 변경 사항 되돌리기
프로젝트를 작업하다가 실수했거나 마음이 바뀐 적이 있으신가요? 걱정하지 마세요. 누구에게나 일어나는 일입니다!
Git은 로컬 저장소의 변경 사항을 되돌릴 수 있는 강력한 도구를 제공합니다. 이 레슨에서는 원하지 않는 변경 사항을 안전하게 되돌리는 방법을 알아봅니다.
항상 `git status`로 시작하기
무언가를 되돌리기 전에 저장소의 현재 상태를 파악하는 것이 중요합니다. 이때 git status 명령어가 가장 유용합니다.
이 명령어는 어떤 파일이 수정되었는지, 스테이징되었는지(커밋할 준비가 되었는지), 또는 추적되지 않는 상태인지 알려 줍니다.
git status스테이징된 파일을 스테이징 영역에서 제외하기
때로는 git add로 파일을 스테이징 영역에 추가한 다음, 다음 커밋에 포함하고 싶지 않다는 사실을 깨닫기도 합니다.
git restore --staged <file>를 사용하면 해당 파일을 스테이징 영역에서 제외하여 수정된 상태(스테이징되지 않은 상태)로 되돌릴 수 있습니다.
git add my_feature.js
git status
git restore --staged my_feature.js
git status작업 디렉터리 변경 사항 버리기(파일)
작업 디렉터리의 파일을 수정했지만 아직 스테이징하지 않았고, 이제 그 변경 사항을 완전히 버리고 싶다면 어떻게 해야 할까요?
git restore <file> 명령어를 사용하면 해당 파일을 마지막으로 커밋된 상태로 되돌릴 수 있으며, 이렇게 하면 로컬에서 수정한 내용이 사실상 삭제됩니다.
echo "new content" > index.html
git status
git restore index.html
git status커밋되지 않은 모든 변경 사항 버리기
이 명령어는 주의해서 사용하세요! 아직 커밋하지 않은 작업 디렉터리의 모든 변경 사항을 버리려면 git restore .를 사용할 수 있습니다.
이 명령어는 현재 디렉터리와 그 하위 디렉터리의 모든 수정된 파일을 마지막으로 커밋된 상태로 되돌립니다. 스테이징되지 않은 파일의 변경 사항은 사라집니다!
echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git status마지막 커밋 메시지 수정하기
마지막 커밋 메시지에 오타가 있나요? 중요한 세부 사항을 적는 것을 잊으셨나요?
git commit --amend를 사용하면 가장 최근 커밋의 메시지를 수정할 수 있습니다. 이 명령어를 실행하면 기본 텍스트 편집기가 열리고 메시지를 수정할 수 있습니다.
git commit --amend -m "Updated commit message with fix"누락된 파일을 추가하도록 커밋 수정하기
마지막 커밋에 파일을 포함하는 것을 잊으셨나요? 문제없습니다!
git add로 잊어버린 파일을 스테이징한 다음 git commit --amend --no-edit를 사용하세요. 그러면 메시지는 변경하지 않고 스테이징된 파일을 이전 커밋에 추가할 수 있습니다.
git add new_script.py
git commit --amend --no-edit`git restore`를 사용하는 이유
스테이징을 해제할 때 git reset HEAD <file>를 사용하거나 변경 사항을 버릴 때 git checkout -- <file>를 사용하라고 안내하는 오래된 가이드를 보게 될 수도 있습니다.
이 명령어들도 작동하지만, git restore는 이러한 작업을 더 명확하고 안전하게 수행하도록 도입된 최신의 직관적인 명령어입니다. 변경 사항을 되돌리는 용도로 특별히 설계되었습니다.
한데 모아 보기: 시나리오
config.json을 수정하여 스테이징한 뒤, 실수했다는 사실을 깨닫고 변경 사항을 완전히 버리고 싶다고 생각해 보세요.
- 먼저 스테이징 영역에서 제외합니다.
- 그다음 마지막으로 커밋된 버전으로 되돌립니다.
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git status빠른 확인: 되돌리기
작업 디렉터리에서 data.csv를 수정했지만 이 변경 사항을 아직 스테이징하지 않았습니다. 이제 이 변경 사항을 완전히 버리고 data.csv를 마지막 커밋 당시의 상태로 되돌리기로 했습니다.
복습: 변경 사항 되돌리기 마스터하기
잘하셨습니다! 이제 Git에서 로컬 변경 사항을 안전하게 되돌리는 방법을 배웠습니다.
git status를 사용하여 현재 변경 사항을 확인합니다.git restore --staged <file>로 파일을 스테이징 영역에서 제외합니다.git restore <file>로 파일의 작업 디렉터리 변경 사항을 버립니다.git restore .로 스테이징되지 않은 작업 디렉터리 변경 사항을 모두 버립니다(주의해서 사용하세요!).git commit --amend로 마지막 커밋 메시지를 수정하거나 누락된 파일을 추가합니다.
이 명령어들은 깔끔하고 정확한 프로젝트 기록을 유지하는 데 꼭 필요합니다!
자주 묻는 질문
“로컬 변경 사항 되돌리기” 강의는 무료인가요?
네 — “로컬 변경 사항 되돌리기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Git & GitHub Professional Workflow 강의 전체를 잠금 해제할 수 있습니다. Git & GitHub Professional Workflow 강의에는 총 4개의 강의가 포함되어 있습니다.
“로컬 변경 사항 되돌리기”에서 뭘 배우나요?
파일의 스테이징을 취소하고 이전 커밋을 수정하는 방법을 포함하여 로컬 변경 사항을 되돌리거나 재설정하는 다양한 방법을 배우세요. 브라우저에서 직접 실행하는 실습 코드로 Git & GitHub Professional Workflow을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Git & GitHub Professional Workflow을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Git & GitHub Professional Workflow은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“로컬 변경 사항 되돌리기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Git & GitHub Professional Workflow 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Git & GitHub Professional Workflow 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 스테이징, 커밋, 기록
- 로컬 변경 사항 되돌리기
- 브랜치 및 병합 기초
- 진행 중인 작업 임시 보관하기