롤백 지점에서 자식 마스터 저장소 및 분기 커밋 롤백 머물 수 있도록하기 위해 이전

Git 리포지토리가 설정되어 있습니다. 이 저장소에는 거의 700 개의 커밋이 있지만 모두 master브랜치에 있습니다. 나는이 롤백하는 접근 방식 싶습니다 master거기 머물 수 있도록하기 위해 이전 시점에 (이 롤백이 약 50 커밋을 포함한다) 지점 그 지점에서 시작 지점 아웃 이후의 모든 별도의 브랜치에 커밋합니다.

그래픽 설명

현재 상태 :

|-.---.---.---.---.---.---.---.---+ master
 aaa bbb ccc ddd eee fff ggg hhh  HEAD

원하는 상태 :

|-.---.---.--\-|  master
 aaa bbb ccc  \
               \
                \.---.---.---.---.---+ seperate-branch
                ddd eee fff ggg hhh  HEAD

그래야 master가지가 롤백되고 ccc커밋마다 그 시점에서 커밋 ( ddd년 이후)을로 이동합니다 seperate-branch.

나는 Git을 처음 접했지만 여정 수준에 도달했지만 여전히이 고급 사용법은 내 머리 위에 있습니다. 내 시스템으로 Ubuntu 11.04를 사용하고 있습니다. 리포지토리 (로컬로 저장하는 것 제외) remote에 GitHub 로 설정되어 있습니다 (차이가있는 경우).



답변

롤백하려는 커밋을 알아야합니다. SHA1

git checkout -b seperate-branch
git checkout master
git reset SHA1 --hard

그리고 당신은 끝났습니다.

GitHub에서 푸시하려면해야합니다.

git push --force origin master


답변