Git push를 하려는 도중 제목과 같은 에러가 발생하였다.
원인
전날 Git을 통해 올린 파일이 잘못 올라갔는데 Git을 통해 업데이트 하지 않고 원격 리포지토리에서 코드를 직접 수정한게 문제가 되었다. 직접수정한 것도 commit history가 남는데 원격 Repostitory에 있는 커밋 히스토리와 로컬의 커밋 히스토리가 일치하지 않아 발생한 문제였다.
해결 방안
해결 방법은 두가지 정도 찾은것 같다.
1. 강제 Push
원격 Repository의 Commit History를 Local 기준으로 맞춰준다.
개인이 혼자 사용하는 Branch라면 이 방법을 사용해도 무관하다고 생각한다. 단점은 원격 Repository의 Commit History가 사라진다는 점.
2. Pull, merge 후 commit, push
Local의 Commithistory 를 원격 Repository 기준으로 맞춰준다.
여러사람이 사용하는 branch의 경우 Commit History가 사라지는 것은 여러방면에서 곤란한 상황이 발생할 수 있다.
따라서 main에 pull 을 받고 해당 branch에 merge하여 conflict 해결 후 commit, push하는 방법이 있다.
단점은 기존 작업물이 날라갈 수 있으니 백업을 다른 곳에 해놔야한다는 점?
앞으로는 Git 을 통해서만 원격 리포지토리에 접근하는 습관을 들여야겠다.
'개인공부 기록 > node.js' 카테고리의 다른 글
1차 프로젝트 회고록 (0) | 2022.08.27 |
---|---|
1차 프로젝트 중간회고 (0) | 2022.08.21 |
[ERROR] Mysql No Database Selected 해결하기 (0) | 2022.08.11 |
[Error] TypeError: Cannot convert undefined or null to object 해결하기(Feat. 게시글 업데이트) (0) | 2022.08.10 |
[Node.js][SQL] SQL 테이블의 값을 쿼리문을 사용하여 Object 형태로 뽑아내기 (0) | 2022.08.07 |