Wanna be Brilliant Full-Stack Developer
GIt & GItHub GIT Reset soft, mixed, hard 본문
만약에 파일들은 정상인데 log가 마음에 안들면?
이것을 복구하는 명령어를 reset이라고 하는데 reset이라는 명령어는 옵션이 3가지가 있다.
soft, mixed, hard 가 있는데
hard라는건 2번을 다 날린다는것이다.
mixed는 커밋 날리고 인덱스 날린다는건데 이거는 어떤 상태랑 같냐면 작업영역에 파일만 바뀌고 아직 add안한 상태인것과 같다.
hard는 test2.txt도 날려버리기 때문에 위험하다.
git reset soft는 커밋만 날리고 head가 바뀐다!
지금 우리가 해야할건 soft다 . soft는 커밋 로그 변경할떄 사용하는것이다
mixed는 먼가 작업영역의 내용 test2.txt는 좀더 변경이 필요할떄 ( mixed로하면 커밋로그랑 인덱스 두개가 날라가니까 test2.txt 내용을 좀더 수정해서 다시 add하면 인덱스가 바뀔것이다)
hard는 test1.txt로 돌아가길 원할떄 사용하는것이다.
git reset --soft 하고 돌아가려고하는 부분에 첫번쨰 사진 번호 앞에 네자리를 붙이면된다.
soft하게 돌아가는것은 add만 되어있는 상태로 간다는거다.
바로 직전것을 바꾸려고할때는 사용하면되고 첫번쨰를 바꾸려고 하는건 불가능하다.
내용을 원래는 1. 첫번째 내용 -> 안녕 이렇게 올리고 싶은데 벌써 커밋한 상황에서는 어떻게 해야할까?
내용을 변경하고 다시 두번째사진으로 커밋하고싶으면?
git reset --mixed 43b1로 하고 untracked file로 빨간상태로 있을떄
내용을 수정하고 다시 git add . 과 git commit 을 하면된다
하지만 이렇게하는것보다는 내용을 바꾼 새로운 커밋을 하는게 더낫다.
mixed는 그래서 별로 안쓰이고 soft는 커밋로그 변경시 많이쓰인다.
hard는 두개의 문서를 다 만들었는데 두번쨰 문서를 잘못만든거같아서 다 날리고 test2.txt를 다시 처음부터 다시만들고 싶어 모든 기록을 다 없애고싶으면 된다.
git reset --hard 43b1 으로 아예 하드까지 다 삭제한다.
'Some Memos > Git' 카테고리의 다른 글
버전관리 시스템이란? (0) | 2022.02.09 |
---|