Git/복구 페이지의 소스 보기 (부분)
마지막으로 [b]
-- Loading page list... --
내용출력
로그인[l]
Diary
[f]
최근변경내역
[r]
페이지목록[i]
횡설수설[2]
게시판[3]
링크
수정할 수 없습니다: Git/복구 는 읽기 전용 페이지입니다.
=== # 상황 재현 === {{{ (저장소 만들고) $ git init Initialized empty Git repository in d:/Temp/git/.git/ ( d1 디렉토리와, 그 아래 file1 을 만든 후 커밋) $ mkdir d1 $ echo "hello" > d1/file1 $ git add d1 $ git ci -m "first commit" [master (root-commit) be77038] first commit The file will have its original line endings in your working directory. 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 d1/file1 ( d2 디렉토리와, 그 아래 file2 를 만든 후 add로 index에 추가하고) $ mkdir d2 $ echo "hello 2" > d2/file2 $ git add d2 $ git status # On branch master # Changes to be committed: # (use "git reset HEAD
..." to unstage) # # new file: d2/file2 # ( 여기서 실수 ) $ git reset --hard HEAD HEAD is now at be77038 first commit $ ls d1 ( d2 디렉토리가 날아갔다 ) }}} (그런데, 이 상황 재현은 막상 아래 복구 과정에서는 내가 경험했던 대로 결과가 나오지 않는다. 즉 제대로 재현이 안 됨) 조금 더 수정한 후에 커밋하는 게 좋겠다고 생각해서, 일단 만들어진 인덱스, 즉 stage 영역을 이전 상태로 되돌릴려고 했다. 이 경우는 git-reset의 옵션으로 --mixed 를 주거나, --mixed가 기본값이니까 아예 옵션을 적지 말았어야 했다. (아니면 그냥 무시하고 더 작업한 다음에 git-add를 해도 되는 거긴 한데, 이 때 뭐가 씌웠는지ㅋ) 그러나 --hard 옵션을 주는 바람에 작업 디렉토리가 통채로 현재 HEAD가 가리키는 상태로 되돌아가버렸고, 새로 추가한 d2 디렉토리와 그 내용들이 사라져 버렸다.
Git/복구
페이지로 돌아가기 |
다른 수정본 보기