Git
Git 3강. Git reset
JJJAEOoni
2022. 2. 1. 15:04
반응형
git의 log를 잘 못 입력했거나, 수정이 필요할 때
log를 복구하는 명령어이다.
git reset
reset에는 3가지 옵션이 있다.
1. soft
2. mixed
3. hard
1. reset --soft
reset은 log의 해시 코드를 이용해 변경해준다.
우선 test1.txt파일을 만들어 준 뒤 commit 해주었다.
test2.txt 파일을 만들어 준 뒤 commit 해주는데 log 이름에 오타가 났다.
바로 직전의 로그를 변경할 때는 soft를 사용해준다.
돌아가고 싶은 상태의 커밋 로그의 해시값을 입력해준다.
git reset --soft 9438
그리고 다시 commit 해주면 로그 수정이 가능하다.
2. reset --mixed
mixed는 test2.txt 파일의 내용을 수정하고 싶을 때 사용해준다.
add 하지 않고 새로운 파일 변경을
감지만 하고 있는 상태로 돌아가는 것이다.
git reset --mixed 9438
위 문장을 입력한 후 test2.txt 파일을 수정하고 저장해준다.
그리고 add 해준 후 commit 해주면 된다.
3. reset --hard
test2.txt에 대한 모든 내용을 날려버릴 때 hard를 사용한다.
작업환경에 있는 파일까지 모두 삭제되고,
다시 복구할 방법이 없어 위험한 방법이다.
git reset --hard 9438
HEAD는 첫 번째 log를 가리키고, 작업환경에는
test2.txt가 사라진 것을 볼 수 있다.
수정이 끝난 후 다시 push를 해줄때는 history가 맞지 않기 때문에
다음과 같은 명령어로 push 해준다.
git push -f origin master
[출처]
반응형