【GitHub】리모트 master 브랜치를 과거의 정보로 바꾸는 방법(개인개발만 추천)

비망록입니다.
리모트 master 브랜치를 과거의 상태로 고쳐 부활시키는 것을 실현합니다.

경위



배포 시 전혀 예측할 수 없는 에러와 만나 로그를 읽고 가설·검증을 해도 해결되지 않았습니다. 전혀 에러의 원인을 예상할 수 없었기 때문에, 에러가 일어나기 직전에 되돌리고 싶었습니다. 그러나, 개인 개발이라고 하는 일도 있어, 간단하게 많은 병합해 버렸습니다(신중하게 실시해야 했습니다, 반성입니다) 때문에, master 브랜치를 과거의 상태에 되돌리는 밖에 방법이 생각할 수 없었습니다.

주의



이 방법은 개인 개발에만 권장됩니다. 팀에서 개발하는 경우에는 권장하지 않습니다.
( 원래 과거 의 정보 로 바꾸는 것은 추천 되지 않습니다 . ) ← 여기 중요 !

또한 마이그레이션 파일(또는 schema 및 기타) 정보와의 어긋남에 유의하십시오. 테스트 환경에서 데이터베이스가 손상되었거나 syntax error가 일어나서 손에 들지 않게 된 경우 database.yml 등을 수정하여 다른 데이터베이스를 작성하고 거기에서 저장하도록 하십시오.

저 자신 약 2개월 전에 프로그래밍 공부를 시작한지 ​​얼마 안된 초학자입니다.
실행한 행동을 기억하면서 쓰고 있기 때문에, 내용에 오류가 있다고 생각하므로, 향후 내용 수정할지도 모릅니다만, 이해의 정도 잘 부탁드리겠습니다.

방법



GitHub 화면에서 Settings → Branches를 클릭하여 Default Branch 설정 화면으로 날아갑니다.


기본 브랜치(master 브랜치)가 설정된 상태에서는 삭제할 수 없기 때문에 master 브랜치 이외를 선택. 덧붙여 여기에서는 새롭게 master로서 취급하고 싶은 코드를 가지는 브랜치를 선택해 Update 하면 좋을 것입니다.

그런 다음 다음 명령을 실행하여 원래 마스터를 삭제합니다.
% git push origin :master

Github Desktop에서 원래 master 브랜치를 선택한 상태에서 다음 명령을 실행하여 임의의 이름으로 바꿉니다.
(원래의 master는 더 이상 필요 없기 때문에, 정말로 텍토인 이름으로 괜찮습니다.)
% git branch -m <任意の名前>

다음에, master 브랜치로 하고 싶은 정보를 가지는 브랜치를 Current Branch로서 세트한 상태에서, 이하의 커맨드를 실행한다.
% git branch -m master

새로운 마스터 브랜치로 푸시
% git push origin master 

이제 과거에 만든 브랜치의 정보를 바탕으로 새로운 master를 생성할 수 있었습니다.

원격 리포지토리를 확인하면


master의 원래가 되는 브랜치와 새로 만든 master 브랜치의 정보가 동일해졌습니다.
다시 Default Branch의 설정 화면에서 브랜치를 새로운 master로 전환해 두는 것을 잊지 않도록 합시다.

새로운 마스터의 Fetch와 Push 정보



이번과 같은 형태로 새롭게 master를 만든 경우는, 통상대로의 방법으로 Push를 할 수 없게 됩니다.
master를 최신 상태로 하는 경우에는 반드시 새로운 브랜치를 사용해 아래의 순서를 밟아 주세요.

① master 브랜치를 선택한 상태에서 Choose a branch to merge into master



② 업데이트한 최신 브랜치를 선택하고 Merge 최신 브랜치 into master



보충



지금까지 배포한 경우 과거의 정보로 대체한 것으로 덮어쓸 수 없습니다. 그렇다면 배포한 앱을 한 번 삭제한 다음 다시 앱을 다시 배포해야 합니다.
또한, 앞에서도 말했듯이, 마이그레이션 파일 등과의 어긋남이 일어나 버릴 가능성이 있는 것을 유의해 실행해 주세요.

참고 기사



htps : // 코 m/스이//ms/96c110b218d919168d64
htps : // 코 m / 뿌기 몽 / ms / 34b56b1 오 757 에 33133 에 4

좋은 웹페이지 즐겨찾기