이 글은 2026년 1월 23일에 작성된 글입니다.
오늘부터 프론트엔드 팀 프로젝트를 시작했다.
팀장님이 Github에 원격 레포지토리를 만들고 팀원들이 fork해서 자신의 레포지토리로 복사하여 브랜치를 새로 파서 각자 기능을 구현했다.
🔴 문제
나는 이미 fork한 내 레포지토리에 여러 개의 commit을 하고 첫 push를 해서 올린 상태였는데 수정 사항이 생겨 다시 수정을 하고 commit을 하고 push를 했다.
그런데 에러 메시지가 나오고 push가 안되는 것... 확인해보니 원격과 로컬의 내용이 달라 거절 당한거였다. 그래서 git pull을 해 원격 레포지토리의 내용을 가져와 합치고 다시 git push를 해야했다.
근데 git pull을 했더니 코드에 뭐가 많이 생긴다. 이거 어떻게 해야할까?
🔎 시도
찾아보니 원격 레포지토리와 로컬 레포지토리의 내용이 달라 충돌이 나는거였다. 그래서 충돌이 나는 부분을 확인하고 충돌나는 두 코드 중 어떤 코드를 사용할지 선택하고 안 쓸 코드는 지우면 된다.
HEAD(Current Change)와 Incoming Change 뜻도 찾아봤다.
<<<< HEAD (Current Change): 현재 내가 작업하고 있는 브랜치의 코드 정보>>>>> Main (Incoming Change): 새로 수정된 원격 레포지토리의 Main 브랜치에서 pull해서 가져온 코드 정보
✅ 해결
현재 상황에서는 원격 레포지토리의 코드가 이전 버전이고, 나는 새로운 수정사항을 push하려는 상황이었다. 그래서 원격 레포지토리의 코드가 아닌 내가 작업하던 HEAD 코드를 선택했고 Main의 코드는 지워주었다.
💡 알게된 점
Git으로 협업을 너무 오랜만에 해서 기본적인 것들도 많이 잊어버렸다는 걸 깨달았다. 역시 사용하지 않으면 아무리 알고 있던 것이어도 점점 잃어버리게 되는 것 같다.
그리고 코드를 수정하기 전에 먼저 pull을 해서 원격에 변경사항이 없는지를 체크하는 습관을 들여야겠다. (아니면 또 이런 사태가 발생하기 때문에...)
먼저 pull을 해서 원격 코드를 가져오고 그 후에 코드를 수정하는 걸로!
Git에 대해 좀 더 정리를 해서 게시글로 올려야겠다.
후기 페이지를 완성해서 뿌듯하다.
다음주도 화이팅!💪