안녕하세요. 오늘은 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을 먼저 해주어서 레퍼지토리 변경사항을 먼저 반영해주시면 좋을 것 같습니다.

 

읽어주셔서 감사합니다.

+ Recent posts