깃(7)-작업 되돌리기

hyihyi·2022년 5월 4일
0

작업 트리에서 수정한 파일 되돌리기 git checkout/restore

스테이징 하기 전인 수정한 파일을 이전으로 되돌리는 명령어

$ git checkout -- hello.txt
$ git restore -- hello.txt

스테이징 되돌리기 git reset HEAD 파일

수정된 파일을 스테이징하고 스테이징을 취소하는 방법

git reset HEAD hello2.txt
git restore --staged hello2.txt

최신 수정한 파일 되돌리기

$ git reset HEAD^


-->커밋이 취소되고 스테이지에서도 내려졌다는 메시지가 뜸

git reset 명령의 옵션 살펴보기
1. --soft HEAD^ : 최근 커밋을 하기 전 상태로 작업트리를 되돌림
2. --mixed HEAD^ : 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌림. 옵션 없이 git reset 명령을 사용할 경우 이 옵션을 기본으로 작동함
3. -hard HEAD^ : 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌림. 이 옵션으로 되돌린 내용은 복구할 수 없음

특정 커밋으로 되돌리기 git reset 커밋 해시

주의 reset A를 입력한다면 A 커밋을 삭제한다는 것이 아니라 A 커밋 이후에 만들었던 커밋을 삭제하고, A 커밋으로 이동하겠다는 의미
또한 이 옵션으로 되돌린 내용은 복구할 수 없다.

-->네모친 부분이 돌아갈 캐시

총 4번의 커밋을 하고 커밋 메시지가 R2인 커밋으로 이동하기 위해 R2커밋의 해시를 복사하고 아래의 명령어를 입력한다.

$ git reset --hard 복사한 캐시

커밋 삭제하지 않고 되돌리기 git revert

커밋으로 되돌릴 때 나중에 사용할 것을 대비해서 취소한 커밋을 남겨두어야 할 때는 git reset이 아닌 git revert 명령을 사용

-->R5 커밋 생성

-->revert 명령어에 R5해시를 쓴 다음 추가로 남겨둘 내용이 있다면 R5 커밋메시지를 추가함

-->기존의 R5 버전을 지우지 않고 R5에서 변경했던 이력을 취소한 새 커밋을 만듦

profile
자유롭게 쓴 나의 자유로운 Development voyage⛵

0개의 댓글