you have local changes/commits which were not pushed to the remote branch. 이기 때문에 발생하는 오류이다
아래의 4가지 해결법이 존재한다.
Move your local changes/commit to a different branch.
Reset your local branch back to the last common commit with your remote branch
git reset 후 pull 하면 원격저장소와 동일한 커밋으로 돌릴 수 있다
(*이 방법이 협업시 주로 사용되는 방법이고 제일 간편하다고 생각한다!)
Merge the changes from your remote branch
로컬하고 리모트하고 달라서 발생하는 것이기에 Main을 먼저 pull 한 후 Main 을 특정 브랜치에 머지하면된다!
Re-apply the changes from the new branch you created on your local branch.
위의 4가지 해결법이 존재하는데,
프로젝트를 하다가 팀원분이 하신말이 잘 이해가 되어 추가적으로 기록한다
위 문제는 내가 고친걸 다른 사람이 고친 후 머지시켜서 발생한다
이 상황에서 내가 계속 코드 고치다가 pull main 땡겼고, 이 때 내가 고친것과 저사람이 고친것과 다르면 non-fast-forward 가 발생한다
이 경우 git reset 해서 원격저장소와 동기화 시킨 후에 (즉, 커밋을 일치시킨다) pull 해오고 다시 add 해서 원격에 push 하면 해결된다!!
Git Merge에서 Fast Forward 관계 이해하기