안녕하세요. 오늘은 github non-fast-forward 에러에 대해서 정리해보고자 합니다.
git에 push 하려던 상황에서 해당 에러를 만났는데요.
단순히 git을 init하고 다시 재연결한다고 해서 해결되는 문제가 아니라 정리를 해보고자 합니다.
<non-fast-forward 발생 이유>
Git repository에 변경사항이 현재 내 코드에 반영이 안되어 있을 경우 발생하게 됩니다.
즉, 변경사항과 변경 전인 나의 코드가 push 하려는 과정에서 충돌이 발생하여 푸시가 안되는 것이지요.
<해결방안>
☆제일 좋은 해결 방법은 git에 push 하기전 pull을 먼저 하고 push를 하는 것입니다.
충돌이 발생했을 경우, 해결 방안은 2가지 입니다.
1. 강제 병합 후 push 하는 방법
--allow-unrelated-histories 옵션을 사용하여, 병합되지 않은 부분을 강제 병합시켜주는 방법입니다.
2. 강제로 push 하는 방법
위와 같이 master를 +master로 지정해주거나, -f / --force 옵션을 통해 강제로 push 하는 방법이 있습니다.
어찌됐건, 강제 한다는 것은 좋지 않으므로 항상 pull을 먼저 해주어서 레퍼지토리 변경사항을 먼저 반영해주시면 좋을 것 같습니다.
읽어주셔서 감사합니다.