2016-06-14 3 views
1

인 github remote에서 커밋을 제거합니다. 2 일간의 커밋이 있습니다. 원격에서 영구적으로 특정 git 커밋을 제거하려면 어떻게해야합니까? 그래서 그 커밋 번호와 브라우저에서 볼 수 없습니다.커밋 번호가

+1

분기 기록을 다시 쓰지 않고도 그럴 수는 없습니다. –

+0

하지만 역사를 바꾸는 것이 옳지 않습니까? 나는 다시 기지를 만들고 커밋을 삭제하고 강제로 밀어 넣는다. 하지만 여전히 커밋 번호로 표시됩니다. – Santanu

+0

GitHub에서 커밋 번호가 무엇을 의미하는지 모르지만 Git은 SHA-1 해시를 사용하여 커밋에 레이블을 지정합니다. 이상적으로는 항상 고유해야합니다. 당신이 그 저주를 누추했다면 그것은 역사에서 사라져야합니다. –

답변

1

해당 커밋에 액세스 할 수 있다면 해당 커밋을 리버스 (rebase)하고 삭제 한 후 강제로 분기를 푸시해야합니다. 즉, 다른 분기에서 계속 참조됩니다.

분기에서 커밋을 제거하면 분기를 참조하지 않는 경우에만 분기에서 커밋을 제거하면 해당 분기가 분기에서 제거됩니다 (로컬 Repo git reflog에 저장).