programing

원격 Git 저장소에서 마지막 커밋 제거

minimums 2023. 5. 8. 22:00
반응형

원격 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

반응형