GitHub에 실수로 push해 버린 것을 취소하는 방법 (reset)
4648 단어 GitHub
reset(대상 커밋을 커밋 로그에서 삭제)을 사용하는 경우
원격 저장소에서 완전히 지우는 단계
1. 로그를 확인하고 로그 ID 얻기
2. 적절한 reset 방법(3종 있음)을 실행
3. push
3종의 취소 방법
$ git reset --soft コミットID commitを取り消し
$ git reset --hard コミットID commitとaddとソースを取り消し
$ git reset --mixed コミットID commitとaddを取り消し
git reset --mixed
실행시reset
원하는 brunch 로그 확인 git log --oneline
실행 (각 log의 세부 사항을 확인하려면 $ git log
실행) $ git log --oneline
x86_64 itonoMacBook-Air$ "[~/training_project/training_project test *]$ git log --oneline
574c160 (HEAD -> test, origin/test) test_5です。
92de579 test_4です。
16015ec test_3です。
a684537 test_2です。
7416e6d test_1です。
b88bfac test test test
コミットID コミット内容
↓ ↓
16015ec test_3です。
wq
리턴하려는 임의의 커밋 ID 지정
16015ec test_3です。
까지 되돌리고 싶은 경우16015ec
지정 git reset --mixed 16015ec
실행 $ git reset --mixed 16015ec
Unstaged changes after reset:
M test.txt
$ git log --oneline
x86_64 itonoMacBook-Air$ "[~/training_project/training_project test *]$ git log --oneline
16015ec (HEAD -> test, origin/test) test_3です。
a684537 test_2です。
7416e6d test_1です。
b88bfac test test test
실제 화면(제대로 최신 커밋이
16015ec test_3です。
까지 돌아온다)로컬 브랜치를 반환하면 push
git push -f origin ブランチ名
실행 "x86_64 itonoMacBook-Air$ "[~/training_project/training_project test *%]$ git push -f origin test
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/ITO9875/training_project.git
+ 437284f...16015ec test -> test (forced update)
※참고 :
git reset
나중에 수정한 내용을 평소대로 git push origin ブランチ名
(git push origin ブランチ名
이미지 a:
git push -f origin ブランチ名
런타임에 실제 오류 화면GitHub · VS 코드 reset 전후
reset 실행 전
reset 실행 후
reset 전
재설정 후
reset --mixed 로그 ID를 실행한 결과
· GitHub에서 commit 및 add 삭제
· 로컬 리포지토리에서 소스 코드가 사라지지 않음
기타 커밋 삭제 방법
revert(대상 커밋을 취소하기 위한 커밋을 수행하는 방법)
등이 있다(향후 조사한다)
Reference
이 문제에 관하여(GitHub에 실수로 push해 버린 것을 취소하는 방법 (reset)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ITO9875/items/1da0023ca1f958971f61텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)