mkdir reop
git init
vi file1.txt
git add file1.txt
git commit -m 1
vi file1.txt
git add file1.txt
git commit -m 2
먼저 깃 저장소에 add commit 하자.
버전을 2개를 만들었고, git 의 최대 장점인 버전 되돌아가기로 원리를 파악해보자.
git reset 798f4b9c735b98ee272f196c2061136d6af27093 --hard
git log
./HEAD 안의 해쉬 Key 를 따라가보니 ./HEAD 는 refs/heads/master (master는 현재 branch 임을 기억)를 가리키고 그 안에는 master의 현재 commit 1 을 가리키고 있는 것을 확인할 수 있다.
한가지 알아야 할 점은 reset --hard 를 사용하면 최신 버전이 사라진 것처럼 느끼게 된다. 하지만 git 은 이러한 위험한 행위를 용납하지 않는다. 어딘가에 저장되어있다.. 이런행위를 하게되면 .. 어딜까 ?
답은 ORIG_HEAD 다.
되돌려보자
git reflog
git rest 복구하려는_hash_key
이러면 hard 로 사라졌던 버전이 복구가 된다. git status 했을 때 modified 가 되어있으면 파일 내용은 git resotre 로 이 때 버전으로 복구해주면된다.
git Nice.. Baby..
git checkout -b test