Git 원격 창고로 전송된 제출 (push) 정보 취소 (commit)

5128 단어 Git
제출(git commit) 정보를 수정하는 방법은 다음과 같습니다. Git commit –amend 수정 제출 정보
때때로 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

좋은 웹페이지 즐겨찾기