우리는 작업을 하다 보면 저장한 내용을 저장하기 전으로 돌아가거나, 이전의 버전으로 돌아가야하는 경우들이 존재합니다.
이때 git은 기록들이 남아있기 때문에 이러한 작업들을 할 수 있게 해줍니다.
저장한 내용 되돌리기
작업을 하다보면 수정,저장한 내용을 되돌려야 할 때가 있습니다.
이해를 돕기 위하여 그림을 준비하였습니다.
내가 작성한 문서파일에 그림처럼 많은 내용 들어있고, 수정했다고 가정해보겠습니다.
왼쪽의 그림(test.txt)를 수정, 저장하여 오른쪽 그림(test.txt)를 만들었을때 다시 왼쪽의 그림(test.txt)로 돌아가려면
굉장히 힘이 들 것입니다.
깃에서 git restore 명령어를 입력하면 쉽게 돌아갈 수 있습니다.
test.txt 문서 파일을 "수정하였습니다" 내용으로 변경하고 저장하였습니다.
test.txt 문서 파일을 열고 아무리 ctrl + z를 눌러 되돌리기를 하여도 이미 저장을 했기 때문에 돌아가지 않습니다.
git status 명령어로 현재 상태를 확인하면 test.txt파일이 수정되었다고 나옵니다.
그리고 그 윗줄에 git restore 명령어를 사용하면 변경사항을 되돌릴 수 있다고 합니다.
git restore 명령어를 사용하였습니다.
test.txt 파일의 내용을 확인해보니 이전의 작업 내용과 일치하는 것을 볼 수있습니다.
git status 명령어를 사용하여 현재상태를 확인해보니 unmodified상태로 돌아간 것을 볼 수있습니다.
스테이징 되돌리기
test.txt 파일에 "ver4"를 추가하고 add 명령어를 사용하여 스테이징 영역으로 넘겼습니다.
이때 상태를 되돌리려면 git restore --staged <file> 명령어를 사용하라고 합니다.
이해를 돕기 위하여 그림을 사용하였습니다.
git restore --staged test.txt 명령어를 사용하였습니다.
git status 명령어를 사용하여 현재상태를 확인해보니
Changes not staged for commit: 명령어가 나옵니다. 아직 스테이징 상태가 아니라는 의미입니다.
git restore test.txt 를 하여 수정한 내용 또한 복원해주겠습니다.
감사합니다! :)
'Git' 카테고리의 다른 글
#11 Git(깃) git revert(삭제하지 않고 커밋 되돌리기) (2) | 2021.01.11 |
---|---|
#10 Git(깃) git reset(커밋 되돌리기) (0) | 2021.01.10 |
#8 Git(깃) 커밋메시지 수정하기 (3) | 2021.01.09 |
#7 Git(깃) tracked, untracked file (5) | 2021.01.08 |
#6 Git (깃) git log , git diff (4) | 2021.01.07 |