Git 원격 창고로 전송된 제출 (push) 정보 취소 (commit)
5128 단어 Git
때때로
git push
이후에 일부 코드가 아주 작은 변경을 해야 한다는 것을 발견했는데 이런 변경은 원칙적으로 새로운 제출이 되어서는 안 된다.이때 우리는 이번 전송(git push
과 제출(git commit
을 취소하고 코드 수정을 한 다음에 다시 제출과 전송을 진행해야 한다.이 목적을 실현하기 위해서는 세 가지 조작이 필요하다.
1. 제출 취소
먼저
git log
제출 정보를 검토하여 뒤로 돌아갈 버전 번호를 확인합니다.$ git log
commit a44822002522f2ab1e3a5e2a1cec00a7d3d02185 (HEAD -> master, origin/master, origin/HEAD)
Author: hanchao5272 <89298141@qq.com>
Date: Sun Mar 4 11:14:55 2018 +0800
CSDN-java 06- Field-
commit aa909cff2239536df14820fe086d96305b24e9f1
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800
CSDN-java - -
우리는 CSDN-java반사06-구성원 변수인 Field-코드 최적화를 취소해야 하기 때문에 반환해야 하는 버전은 CSDN-java반사-수식자-코드 최적화입니다. 즉, 반환해야 하는 버전 번호는 aa909cff2239536df14820fe086d96305b24e9f1입니다.
그리고git reset –soft를 통해 지정한 버전의 제출을 리셋하여 제출을 취소하는 목적을 달성합니다.
$ git reset --soft aa909cff2239536df14820fe086d96305b24e9f1
매개 변수soft는 현재 작업 영역을 보존하고 다시 제출할 수 있도록 매개 변수hard를 선택할 수 있도록 하며 해당 작업 영역의 수정을 취소하고 반드시 신중하게 사용해야 한다는 것을 가리킨다
그런 다음
git log
를 통해 성공적으로 취소되었는지 확인합니다.$ git log
commit aa909cff2239536df14820fe086d96305b24e9f1 (HEAD -> master)
Author: hanchao5272 <89298141@qq.com>
Date: Sat Mar 3 23:43:03 2018 +0800
CSDN-java - -
성공적으로 취소되었습니다.
2. 취소
git push origin master – force를 통해 현재 버전 번호를 강제로 제출하여 버전 번호를 취소합니다.
$ git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
To github.com:hanchao5272/myreflect.git
+ a448220...aa909cf master -> master (forced update)
강제 커밋을 위해 force 매개 변수를 추가해야 합니다. 그렇지 않으면 커밋에 실패하고 오류가 발생합니다.
$ git push origin master
To github.com:hanchao5272/myreflect.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:hanchao5272/myreflect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
오류 원인: 로컬 프로젝트 버전 번호가 원격 창고 버전 번호보다 낮습니다.
3. 코드 수정, 다시 제출 및 푸시
// ,
git add .
//
git commit -m "CSDN-java 06- Field- "
//
git push origin master
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
브랜치 병합(Visual studio 2017 사용)의 계속입니다. 기능 추가를 위한 브랜치를 작성하고, 기능 추가한 후, 그 내용을 develop 브랜치에 병합해 봅니다. 1. 새롭게 「add1」라고 하는 브랜치를 작성 2. 브랜치 "add1"을 선택한 상태에서 M...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.