- 인프런 빠르게 git - 핵심만 골라 배우는 Git/Github 강의 내용을 기반으로 작성하였습니다.
git reset --hard HEAD^ //쎄게 되돌리자
git reset --mixed HEAD^ //적당히 되돌리자
git reset --soft HEAD^ //약하게 되돌리자
HEAD : 현재 작업중인 브랜치/커밋 중 가장 최근 커밋
^ : 하나 되돌리자
ex) 가장 최근 커밋으로부터 2개 전으로 되돌리자
git reset --hard HEAD^^
1(1). 새로운 폴더, 새로운 파일을 만들어서
git init → git add. → git commit -m "first commit"
까지 완료
1(2). 버전을 업데이트 하여 다시 add, commit 진행
→ 현재 상태는 Repository에 두개의 버전이 존재함(push하기 직전)
2(1). test.txt의 문자열을 변경함(이는 아직 working directory에서만 변경된 것)
2(2). 해당 txt파일을 staging area로 옮김
git add test.txt
→ 현재 상태는 Repository에 두개의 버전, Staging area에 1개의 txt가 존재
3(1). test.txt의 문자열을 변경함(이는 아직 working directory에서만 변경된 것)
→ 현재 상태
→ repository에 올라간 최근 버전 1개 뿐만 아니라, staging area, working directory에 있는 파일까지 모두 그 전 상태로 변경됨.
log를 보면 최근 commit한 버전이 없어짐을 확인할 수 있고, status를 보면 비어있음을 알 수 있음.
→ repository에 올라간 최근 버전 1개와, staging area에 있는 파일까지 되돌아간 것을 알 수 있음.