반응형
원격 Git 저장소에서 마지막 커밋 제거
로그에 더 이상 표시되지 않는 원격 Git 저장소에서 마지막 커밋을 제거하려면 어떻게 해야 합니까?
예를 들어,git log
다음 커밋 기록을 제공합니다.
A->B->C->D[HEAD, ORIGIN]
어떻게 갑니까?
A->B->C[HEAD,ORIGIN]
이렇게 하면 이미 원격 저장소에서 가져오기/풀링/복제한 사용자에게 "대체 현실"이 생성됩니다.하지만 사실, 이것은 매우 간단합니다.
git reset HEAD^ # remove commit locally
git push origin +HEAD # force-push the new HEAD commit
로컬 리포지토리에 보관하고 원격에서만 제거하려면 다음을 사용할 수 있습니다.
git push origin +HEAD^:$name_of_your_branch # e.g. +HEAD^:master
일부 셸은 다음을 해석합니다.^
성격.이러한 셸의 경우, 인용/도피 또는 사용~
:
HEAD\^
'HEAD^'
HEAD~
만약 아무도 그것을 당기지 않았다면, 당신은 아마도 다음과 같은 것을 할 수 있습니다.
git push remote +branch^1:remotebranch
원격 분기를 분기의 마지막 커밋으로 강제 업데이트합니다.
언급URL : https://stackoverflow.com/questions/8225125/remove-last-commit-from-remote-git-repository
반응형
'programing' 카테고리의 다른 글
자동 레이아웃을 사용하여 전체 너비의 백분율을 만드는 방법은 무엇입니까? (0) | 2023.05.08 |
---|---|
BehaviorSubject와 Observable의 차이점은 무엇입니까? (0) | 2023.05.08 |
가상 환경을 이동할 수 있습니까? (0) | 2023.05.08 |
MacOS X에 Node.js, nvm 및 npm을 설치하는 권장 방법은 무엇입니까? (0) | 2023.05.08 |
분기를 헤드로 빠르게 전달하는 방법 (0) | 2023.05.08 |