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

 

 

 

 

[출처]

https://inf.run/3Xiz

 

[무료] 지옥에서 온 관리자 Git - 인프런 | 강의

“소규모 협업을 통해 프로젝트 개발을 하고 싶은데 어떻게 해야 할지 모르겠어요!” “취업을 앞둔 취준생인데 Git을 몰라요!” 취준생, 주니어 개발자 등 프로그래머라면 꼭 알아야 하는 Git에

www.inflearn.com

 

반응형