git reset 해제
1222 단어 웹 프런트엔드
Git를 사용하는 과정에서 때때로 일부 오작동, 예를 들어reset,rebase,merge 등이다.특히Commit 이후에gitreset --hard HEAD를 실행하여 로컬 기록과 파일을 서버 버전으로 강제 롤백하여 로컬에서 한 수정을 모두 Git 현재 지점의 서버 버전으로 복구하고 자신의Commit 기록도 사라졌습니다.이런 상황에 직면하면 당황하지 마라. 우리가 Git에서 한 모든 조작은 원래의 조작에서 수정한 것일 뿐이고 기록되어 저장된다. 즉, 네가 무엇을 하든지 Git에게 롤백 조작을 할 수 있다는 것이다.
당신은 지금git의 역사 기록을 보면 두 번의 제출을 볼 수 있습니다.
$ git log
* 98abc5a (HEAD, master) more stuff added to foo
* b7057a9 initial commit
이제 첫 번째 제출 상태를 초기화합니다.
$ git reset --hard b7057a9
$ git log
* b7057a9 (HEAD, master) initial commit
이것은 우리가 두 번째 제출을 잃어버린 것처럼 보이고 현지의 수정도 사라져서 되찾을 방법이 없다.하지만 리프로그는 이 문제를 해결하는 데 쓰인다.간단하게 말하면 모든 HEAD의 역사를 기록합니다. 즉, reset, checkout 등 조작을 할 때 이 조작들은reflog에 기록됩니다.
$ git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit
그래서 우리는 우리의 제2commit을 되찾으려면 다음과 같은 조작만 해야 한다.
$ git reset --hard 98abc5a
git 기록을 다시 한 번 보겠습니다.
$ git log
* 98abc5a (HEAD, master) more stuff added to foo
* b7057a9 initial commit
이로써 우리의 코드는 우리가 원하는 제출 상태로 되돌아갔다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
highcharts 데이터 테이블 설정 두 가지 등효 방식의 쓰기텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.