실수:
나는 git rebase -i --root
브랜치에서 무의식적으로 마스터와 다른 첫 번째 커밋을 철회 할 수 있다고 생각 했습니다 (Windows 용 GitHub 기본보기는 마스터와 비교하여 전체를 숨 깁니다).
900 개 이상의 커밋이 Sublime에로드되는 동안 Silicon Valley 수염을 키 웠습니다. 변경없이 종료 한 후, 900 명 이상의 개인 커밋이 모두 무책임하게 리베이트하기 때문에 배터리를 충전 한 다음 면도를 계속했습니다.
Git을 이기고 원래 시간을 보존하기로 결정한이 로컬 리포지토리를 삭제하고 원격에서 다시 복제했습니다.
이제 내가 제거하고 싶은 마스터에 대한 가장 최근의 불필요한 커밋을 다시 추가 했으므로 계속 진행했습니다.
옵션 소진 :
나는 원하지 않았다 git revert
-그것은 추가 커밋을 만들어서 Git에게 우위를 제공했다.
git reset --hard HEAD
을 확인한 후 reflog
마지막으로 유일한 HEAD
것은 클론이 아니 었습니다.
최신 SHA를 얻으려면 github.com에서 원격 저장소를 확인했습니다.
생각한 후에 git reset --hard <SHA>
, 나는 다른 지점을 마스터로 업데이트하고 1 ... 2 ... 똥! 커밋이 돌아왔다-Git 승.
마스터에게 다시 체크 아웃하고, 시도 할 시간을 보낸 git rebase -i <SHA>
다음 라인을 제거하십시오 ... " 여기서 줄을 제거하면 커밋 할 수 없습니다 ". 아 .. 2.8.3 릴리스 정보 에서 n00b의 새로운 기능 에 대해 설명했습니다 .
해결책:
git rebase -i <SHA>
그때 d, drop = remove commit
.
확인하기 위해 다른 지점에 체크 아웃했으며 voila-마스터에서 가져 오기 / 당기기 위해 커밋을 숨기지 않았습니다.
https://twitter.com/holman/status/706006896273063936
당신에게 좋은 일.
cherry-pick
delete