• Main 폭발

    <aside> 💥

    Error


    • **Commit**한 내용을 **원격 branch**에 반영하는 과정에서 git push origin main 명령어 실행

    → 작업 내용이 의도와 다르게 main 브랜치에 반영되는 문제가 발생

    </aside>

    <aside> 📌

    Factor


    • 원격 저장소에 반영할 **branch**를 정확히 확인하지 않은 상태에서
      • **main branch**로 push
    • 잘못 반영된 내용을 수습하기 위해 이전 상태로 되돌리는 방법을 찾는 과정
      • **git reset —hard HEAD~1**명령어 실행
    • 커밋 수만큼 되돌려야 한다고 잘못 이해
      • git reset —hard HEAD~7 추가 실행
    • **git reset —hard**가 커밋 이력뿐 아니라 작업 디렉토리의 변경 내용까지 함께 제거한다는 점을 충분히 인지하지 못함

    결과 :

    • 해당 시점 이후 작성한 작업물까지 함께 삭제됨
    • 복구 과정이 필요해짐

    → 이후 다른 팀원의 pull 기록을 통해 일부 변경 이력 확인 했지만, 기존 작업 흐름대로 복원이 어려운 상황 발생

    </aside>

    <aside> 🗣

    Solution


    • 튜터님을 통해 새로운 작업 디렉토리와 브랜치 재생성
    • 이전 프로젝트에 남아 있던 파일과 복구 가능한 작업 내용을 기준으로 필요한 코드와 파일을 다시 옮겨 정리

    → 이후 작업은 새로 생성한 브랜치에서 다시 진행

    → 정상적인 pull request 절차를 통해 반영할 수 있도록 작업 환경 재구성

    </aside>

    <aside> ❓

    Point


    • push 전에는 현재 체크아웃된 브랜치와 원격 반영 대상 브랜치를 필수 확인해야함

    • git reset —hard → 커밋 이력뿐 아니라 로컬 작업 내용까지 삭제할 수도 있음 → 충분히 영향 범위를 이해한 뒤 사용할 수 있도록 함

    • **reset —hard**를 바로 실행하는 게 아닌

      • git log
      • git reflog
      • 브랜치 분기 상태

      확인하는 절차 진행

    • 중간 커밋, 별도 브랜치 백업을 남겨둬야 안전 </aside>