Git에서 로컬 변경 사항을 이전 상태로 되돌리기
Ashok Chapagai
2023년1월30일
Mario
에게 작업이 할당되어 완료하려고 했지만 고객이 요구 사항을 변경하고 이전에 할당된 작업을 중단하도록 Mario
에게 요청했다고 가정해 보겠습니다. 그렇다면 이 딜레마에 대한 완벽한 솔루션은 무엇일까요?
이 기사에서는 Git에서 로컬 변경 사항을 이전 상태로 되돌리는 방법을 배웁니다.
Git에서 준비되지 않은 로컬 변경 사항 되돌리기
일반적으로 파일을 스테이지로 푸시하는 git add
명령을 사용하지 않은 경우 아래 단계에 따라 이전 상태로 쉽게 이동할 수 있습니다.
-
git status
로 파일 상태를 확인합니다.$ git status On branch dev Your branch is up to date with 'origin/dev'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: frontend/src/index.tsx modified: frontend/src/common/components/index.tsx modified: frontend/src/common/components/index.css
-
상태가 알려지면 아래 옵션을 원하는 대로 사용할 수 있습니다.
- 로컬 변경 사항 덮어쓰기
git checkout -- <file>
- 나중에 프로젝트에서 사용할 수 있도록 로컬 변경 사항을 저장합니다.
git stash
- 파일의 모든 변경 사항을 취소합니다.
git reset --hard
Git에서 단계적 로컬 변경 사항 되돌리기
git add
명령을 사용하여 파일을 추가한 경우 아래 단계에 따라 이전 상태로 되돌릴 수 있습니다.
-
git status
를 사용하여 추가된 파일의 가용성을 확인합니다. -
준비된 파일을 보았으므로 되돌릴 파일을 선택하고 상황에 따라 다음 명령을 사용할 수 있습니다.
- 파일에 대한 변경 사항을 유지하되 스테이지된 상태로 두지 마십시오.
git restore --staged <file_name_with.path>
- 변경 사항을 유지하는 모든 파일의 스테이지를 해제합니다.
git reset
- 모든 변경 사항을 취소하고 나중에 사용할 수 있도록 저장합니다.
git stash
참고:
git stash pop
을 사용하여git stash
의 효과를 취소하고git stash list
를 사용하여 사용 가능한 숨김 목록을 표시합니다.- 모든 것을 버리십시오
git reset --hard
작가: Ashok Chapagai