inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

빠르게 git - 핵심만 골라 배우는 Git/Github

reset 실습

git reset 이후 다시 돌아가는 방법( staging area, working directory)

301

재림

작성한 질문수 1

1

안녕하세요, 강의 잘 듣고 있습니다.
 
다름이 아니라,  git reflog 를 이용하면 커밋취소했던 내용만 복구가 됩니다.
 
그런데, git reset --hard HEAD^ 로 하면 working 디렉토리, staging area에 있는 내용도 다 삭제가 되잖아요. 이 부분을 다시 복구하는 방법도 알려주실 수 있나요?

버전관리시스템 git github

답변 1

1

강민철

안녕하세요, git reset 을 통해 삭제된 내역을 되돌리는 방법을 여쭈어보신 건가요?

git reset --hard HEAD^ 명령어를 통해 커밋을 되돌린 뒤

git reflog 명령어를 치시면 아래와 같이 

HEAD 가 있었던 내역이 나오게 됩니다.

 

reset 이후 현재 HEAD는 아래 굵게 표시한 것처럼 390eafb에 위치한 걸 알 수 있죠.

 

minchul@DESKTOP-9KULGUE MINGW64 ~/Desktop/git (master)

$ git reset --hard HEAD^

HEAD is now at 390eafb 2

 

minchul@DESKTOP-9KULGUE MINGW64 ~/Desktop/git (master)

$ git reflog

390eafb (HEAD -> master) HEAD@{0}: reset: moving to HEAD^

2ecc6a0 HEAD@{1}: commit: 3

390eafb (HEAD -> master) HEAD@{2}: commit: 2

4cc7f6b HEAD@{3}: commit (initial): 1

 

만일 reset을 하시기 전으로 돌아가고 싶으시다면 

이전의 HEAD로 reset하시면 됩니다.

예를 들어 reset하기 직전인 

 

2ecc6a0 HEAD@{1}: commit: 3

 

로 되돌아가고 싶으시다면 

 

git reset --hard HEAD@{1} 

 

명령어를 통해 되돌아가실 수 있습니다.

그럼 아래와 같이 reset을 치기 전으로 돌아갔다는 걸 확인할 수 있을 겁니다.

 

minchul@DESKTOP-9KULGUE MINGW64 ~/Desktop/git (master)

$ git reset --hard HEAD@{1}

HEAD is now at 2ecc6a0 33

 

minchul@DESKTOP-9KULGUE MINGW64 ~/Desktop/git (master)

$ git log

commit 2ecc6a091d26a2a689280380495131a13e871e32 (HEAD -> master)

Author: Kang Minchul <tegongkang@gmail.com>

Date:   Tue Sep 21 00:52:40 2021 +0900

 

    3

 

 

pull request에 관해

0

50

1

로컬과 원격의 상호작용 강의 질문

0

154

2

password authentication was removed

0

240

2

section3부터 맥북에서 화면이 안나옵니다.

0

221

2

Git bash 우클릭 보이지 않음

0

365

1

원격 저장소 조회(추가)

0

184

1

혹시 아래처럼 계속 파일을 찾을 수 없다는 건 어떤 의미일까요..

0

151

1

Git 맥북 다운로드

0

317

2

Git bash 다 마우스 우클릭해도 보이지 않습니다

0

432

2

pr 이후 브랜치 삭제 질문드립니다

0

992

2

블로그

0

263

2

github에서 push오류

0

279

1

reset에서 head

0

341

1

git branch 관련 질문

0

225

1

Section 2 / 4강 / 3:23초 질문

0

172

1

diff & revert

0

274

1

이슈 번호를 잘못 명시한 커밋을 삭제하는 방법

0

1202

1

강의 "로컬과 원격의 상호작용 실습 (+충돌이 난 경우)" 편의 영상 7분 38초 쯤에서 질문 드립니다.

0

433

1

mac사용

0

319

1

원격 branch를 checkout 하면서 새 branch를 만드는 방법

0

465

1

git checkout 과 git switch/restore

0

2429

1

로컬 브랜치 관련 질문합니다.

0

206

3

git stash, git tag 에 대한 강의자료가 있으면 좋겠습니다

0

312

1

브랜치를 main(master) 와 동기화 하고 싶을 때

0

9196

1