Git 이전 버 전의 두 가지 방법 reset,revert(그림 설명)

문제 설명
github 를 이용 하여 여러 사람의 합작 프로그램 개발 을 실현 하 는 과정 에서 우 리 는 가끔 잘못된 제출 상황 이 발생 할 수 있 습 니 다.이때 우 리 는 제출 작업 을 취소 하고 프로그램 을 제출 전의 모습 으로 돌아 가게 하고 자 합 니 다.본 고 는 두 가지 해결 방법 을 요약 하 였 습 니 다.즉,후퇴(reset),반작용(revert)입 니 다.
배경 지식
git 버 전 관리 및 HEAD 이해
git 를 사용 하여 제출 할 때마다 Git 은 자동 으로 타임 라인 으로 연결 합 니 다.이 타임 라인 은 하나의 분기 입 니 다.새 분기 가 없 으 면 하나의 타임 라인,즉 하나의 분기 만 있 습 니 다.Git 에 서 는 이 가 지 를 주 분기,즉 master 분기 라 고 합 니 다.HEAD 포인터 가 현재 지점 을 가리 키 고 있 습 니 다.(한 지점 만 있 는 경우 master 를 가리 키 고 master 는 최신 제출 을 가리 키 고 있 습 니 다.)각 버 전 마다 특유 의 버 전 번호,버 전 이름 등 자신의 버 전 정보 가 있다.다음 그림 에서 하나의 가지 만 있다 고 가정 합 니 다.

3.해결 방법
방법 1:git reset
원리:git reset 의 역할 은 HEAD 의 위 치 를 수정 하 는 것 입 니 다.HEAD 가 가리 키 는 위 치 를 이전에 존 재 했 던 버 전 으로 바 꾸 는 것 입 니 다.다음 그림 에서 보 듯 이 우리 가 버 전 1 로 되 돌아 가 야 한다 고 가정 합 니 다.

적용 장면:이전에 제출 한 버 전 으로 복원 하고 그 버 전 후에 제출 한 버 전 을 원 하지 않 는 다 면 이런 방법 을 사용 할 수 있 습 니 다.
구체 적 인 조작:
1.버 전 번호 보기:
"git log"명령 으로 보기:

github 사이트 에서 도 볼 수 있 습 니 다.

2."git reset--hard 대상 버 전 번호"명령 을 사용 하여 버 전 을 되 돌려 줍 니 다.

"git log"로 버 전 정 보 를 확인 합 니 다.이 때 로 컬 HEAD 는 이전 버 전 을 가리 키 고 있 습 니 다.

3."git push-f"를 사용 하여 변경 사항 을 제출 합 니 다.
이 때"git push"를 사용 하면 오류 가 발생 합 니 다.로 컬 라 이브 러 리 HEAD 가 가리 키 는 버 전이 원 격 라 이브 러 리 보다 오래 되 었 기 때 문 입 니 다.

그래서 우 리 는'git push-f'로 강제로 밀어 올 리 면 됩 니 다.

github 그래 픽 인터페이스 에서 볼 때 원 격 라 이브 러 리 의 HEAD 도 대상 버 전 을 가리 키 고 있 습 니 다.

후퇴 성공!
방법 2:git revert
원리:git revert 는'역 작'의 한 버 전 으로 이 버 전의 수정 을 취소 하 는 목적 을 달성 합 니 다.예 를 들 어 우 리 는 세 가지 버 전(버 전 1,버 전 2,버 전 3)을 커밋 했 는데 갑자기 버 전 2 가 안 되 는 것 을 발견 했다.버 전 2 를 취 소 했 습 니 다.다음 그림 에서 보 듯 이:

적용 장면:만약 에 우리 가 이전의 특정한 버 전 을 취소 하고 싶 지만 이 목표 버 전의 뒤의 버 전 을 보존 하고 이 전체 버 전의 변동 절 차 를 기록 하려 면 이런 방법 을 사용 할 수 있다.
구체 적 인 조작:
예 를 들 어 현재 라 이브 러 리 에는 READ.md,text.txt,text 2.txt 세 개의 파일 이 있 습 니 다.

1.버 전 번호 보기:
명령 행 으로 볼 수 있 습 니 다(git log 입력):
그림 에서 보 듯 이 최근 두 버 전 은'add text.txt'(즉,파일 text.txt 추가),'add text 2.txt'(파일 text2.txt 추가)라 고 합 니 다.이 럴 때 우 리 는 text.txt 라 는 파일 이 필요 하지 않 습 니 다.그것 은 바로'add text.txt'라 는 버 전의 조작 을 원 하지 않 는 다 는 것 입 니 다.그것 은'add text.txt'라 는 버 전 을 반대로 해서 실현 할 수 있 습 니 다.

github 사이트 그래 픽 인터페이스 를 통 해 버 전 번 호 를 볼 수 있 습 니 다.

2."git revert-n 버 전 번호"를 사용 하여 거꾸로 만 들 고"git commt-m 버 전 이름"을 사용 하여 제출 합 니 다.
(1)반대로'git revert-n 버 전 번호'명령 을 사용 합 니 다.다음 명령 에 따라 우 리 는 버 전 번 호 를 8b 89621 버 전 으로 바 꿉 니 다.

git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861
메모:충돌 이 발생 할 수 있 습 니 다.충돌 하 는 파일 을 수 동 으로 수정 해 야 합 니 다.그리고 git add 파일 이름 을 원 합 니 다.
(2)제출,"git commt-m 버 전 본명"을 사용 합 니 다.예 를 들 어:

git commit -m "revert add text.txt" 
이 때"git log"로 로 컬 버 전 정 보 를 볼 수 있 습 니 다.이 버 전 은"add text.txt"버 전 으로 되 돌 렸 으 나"add text 2.txt"버 전 은 보류 되 어 있 습 니 다.

3."git push"를 사용 하여 원 격 라 이브 러 리 를 밀어 올 립 니 다.

git push
github 에 표 시 된 원 격 라 이브 러 리 버 전 정보 보기:

이 때 창고 의 파일 을 보고 나머지 두 개:READ.md,text 2.txt

거꾸로 성공!
Git 복구 이전 버 전에 관 한 두 가지 방법 reset,revert(그림 설명)에 관 한 글 은 여기까지 소개 되 었 습 니 다.더 많은 Git 복구 전 버 전 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기