github 충돌 해결
- 개인 branch와 main 사이 pull, push 순서가 꼬여서 main 브랜치 프로젝트 파일이 꼬이고 충돌나는 일이 생겼다.
- 이전에 commit 실수로 revert, reset 등을 제대로 이해하지 못하고 썼다가 아까운 코드를 날린 일이 있어 commit을 돌리기는 좀 무서웠다..
- 이번엔 나 포함 2명에게 멀쩡한 코드가 있으니 아예 main 브랜치를 삭제하고 다른 브랜치를 main으로 만들기로 했다.
github에서 main 브랜치 변경
- 처음엔 main 브랜치가 default 브랜치로 되어있는데, 디폴트 브랜치는 바로 삭제할 수 없기 때문에 다른 브랜치를 디폴트로 만드는 것을 먼저 해야 한다.
- 문제 있는 commit의 직전에 pull, merge된 브랜치를 골라 main으로 바꾸기로 했다.
1. github default 브랜치 변경


2. main 브랜치 삭제하고 default 브랜치 이름 변경

- 오류난 main 브랜치를 삭제한 후에 default branch이름을 다시 main으로 바꾸어주었다.
로컬에서 체크
- 다시 main 브랜치를 로컬에서 pull해서 업데이트한다. 다행히 충돌없이 멀쩡한 코드로 업데이트되어 안도했다..
git -> github push 순서
- 로컬 브랜치를 원격 브랜치로 push
- github 사이트 개인브랜치에서 'create pull request'하면 알아서 main과 충돌나는 부분 없는지 체크해줌
- 충돌 없으면 merge
- 다시 로컬에서 원격 메인을 로컬 메인으로 pull
- 로컬 개인 브랜치에서 로컬 메인을 merge
주의점
- 로컬이든 원격이든 main 브랜치에 바로 push하지 않는다.
- 오류나는 코드를 push하지 않는다.