git reset 설명

3046 단어 GitGitHub
git reset 명령이 초보자들이 가장 이유를 모르는 곳입니까?
이 명령은 많은 일을 할 수 있기 때문에 어떤 상황에서 어떻게 사용해야 할지 혼란스럽다.
하지만 실제로는 동작이 간단하다.

git의 구조


gitreset을 이해하기 위해서는 우선git의 구조를 억제해야 한다.

develop 브랜치가 체크 아웃된 상태에서 B가 커밋된 후의 상태를 나타냅니다.
항목
설명
develop
checkout의 지점
A, B
데이터 제출
INDEX
gitadd로 등록된 영역입니다.이 컨텐트는 커밋으로 등록됩니다.
작업 트리
편집할 로컬 파일 또는 디렉토리
개발자에서 작업 트리까지 세로 배열은 그것들이 일치한다는 것을 나타낸다.
참조: 브랜치의 실제
지점은 일본어에서'가지'이지만git의 지점은 약속이 하나밖에 없다.
지점은 어느 제출에서 시작되었는지 모른다
1이 제출한 별명에 불과하다.

작업 트리 편집


develop 분기를 확인하고 파일을 편집했습니다.

작업 트리만 앞에 있어요.

gitadd로 등록


gitadd로 작업 트리의 내용을 모두 등록한 상태입니다.

인덱스도 전진했어.

git commit


INDEX에 등록된 컨텐트가 제출되었습니다.

제출된 후에도 INDEX는 동일한 내용을 유지합니다.

git reset 동작


git reset 명령은 checkout의 지점을 지정한 제출에 다시 연결합니다.

이전 커밋을 취소하려면


C를 커밋한 상태에서 다음 명령을 실행합니다.$ git reset HEAD^HEAD는 checkout의 분기, 즉 제출된 별칭과 연결됩니다.
^는 이전 제출을 나타내므로 HEAD^는 B 제출을 나타냅니다.
명령 실행 후

HEAD 및 HEAD와 연관된 브랜치가 B 커밋으로 이동합니다.
INDEX도 B가 제출한 내용을 반영했다.
작업 트리는 변하지 않습니다.
이것은 C를 제출하기 전에 되돌아옵니다.

모든 분기 제출을 취소하려면


예를 들어 마스터 지점에서 개발자 지점을 만들고 제출 작업을 하지만 모두 취소하고자 하는 경우.$ git reset --hard master의 양곡 탄젠트 값입니다.

master=A 제출.
이것도 개발자 지점과 마스터 지점이 같은 제출 관련 행위이다.
INDEX도 A가 제출한 내용을 반영한다.
그리고 --hard 옵션도 작업 트리에 반영됩니다.

git add 취소 시


gitadd로 등록된 이 상태
$ git reset그럼

하계.
이것은$ git reset이렇게 쓴 것과 같다.$ git reset HEADB 커밋과 연관된 상태에서 동일한 B 커밋과 다시 연관시키면 됩니다.
이때 B 제출 내용으로 INDEX를 다시 생성하여 결과적으로gitadd에 등록된 내용을 취소합니다
그렇습니다.

좋은 웹페이지 즐겨찾기