자꾸 할때마다 헷깔려서 이번에 깔끔하게 정리..
- reset --soft A
- A브랜치로 돌아가는데(repository 초기화) 기존에 add했던 코드들이 staged 된 상태로 그래도 넘어간다. 즉 reset으로 돌아가는 A버전과 내가 작업했던 작업물들을 합쳐 새로운 버전을 만들 필요가 있을 때 사용한다.
- reset --mixed A
- A브랜치로 돌아가는데 기존에 add했던 staging area가 추가로 reset된다. 즉 A로 돌아가면서 working directory만 유지되며 현재 작업물을 지우긴 싫고 이전버전에 이걸 add할지말지 결정해야 할 때, 단순 commit 실수를 했을 시 사용한다.
- reset --hard A
- A브랜치로 돌아가는데 repository, staging area, working directory의 모든 작업 코드를 지운다. 말 그대로 작업물을 날리고 싶을 때 사용한다.
바로 이전 commit 으로 돌아가고 싶으면 A 대신 HEAD^ 또는 HEAD~1사용
git이 관리하지 않는 파일 삭제는 git clean -n으로 확인하고 git clean -f로 삭제한다.
'GitHub&Git' 카테고리의 다른 글
[Git] Git Rebase로 Conflict 해결 (0) | 2022.10.02 |
---|---|
[Git] 원격 repository branch 삭제 (0) | 2022.05.11 |
토큰 만료돼서 푸시안될때. (0) | 2021.07.28 |
[GitHub] 깃헙 잔디 사라졌을 때 당황하지 않고 복구하는 방법. (0) | 2021.07.25 |
[Github] fork 사용하기(다른 사람의 repository를 내려받기) (0) | 2021.07.14 |