TIL - Git (2)

so2·2021년 1월 7일
0
post-thumbnail
post-custom-banner

작업 되돌리기

스테이지에 올렸던 파일을 내리거나 커밋을 취소는 등 각 단계로 돌아가는 방법

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

$ git checkout -- 파일이름

checkout으로 되돌린 내용은 다시 복구할 수 없다.

git reset HEAD : 스테이징 되돌리기

$ git reset HEAD 파일이름

HEAD 다음에 파일 이름을 지정하지 않으면 스테이지에 있는 모든 파일을 되돌린다.

git reset HEAD^ : 최신 커밋 되돌리기

HEAD^ : 현재 HEAD가 가리키는 브랜치의 최신 커밋을 가리킨다.
이렇게 되돌리면 취소한 파일은 작업 트리에만 남게되고 커밋도 취소되고 스테이지에서도 내려진다.

$ git reset HEAD^

reset 명령어 옵션 

soft HEAD^ : 최신 커밋을 하기 전 상태로 작업 트리를 되돌린다 
mixed HEAD^ : 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 퇴돌린다
              디폴트 옵션
hard HEAD^ : 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 
	     작업 트리를 되돌린다.  되돌린 내용은 복구할 수 없다 

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

특정 버전으로 되돌린 다음 그 이후 버전을 삭제할 수도 있다.
예를들어, reset A를 입력하면 A 커밋을 리셋하는 것이 아니라 최근 커밋을 A로 리셋한다. 즉 A 커밋을 삭제하는 것이 아니라 A 커밋 이후에 만들었던 커밋을 삭제하고, A커밋으로 이동하겠다는 의미이다.

git reset 커밋 해시

✍🏻 예제를 통해 설명

git log 를 통해 되돌리고 싶은 커밋 해시를 확인한다. 
git reset 커밋해시 명령어에 이상이 없다면 
HEAD is now at ~ 라는 문장이 뜬다. 

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

git revert 커밋 해시

revert 명령어 실행 시 커밋 메시지를 입력할 수 있는 창이 뜬다.
메시지를 입력하지 않으면 커밋할 수 없다.

📢 게시물은 DO it! 깃&깃허브 입문을 참고했습니다.

post-custom-banner

0개의 댓글