[Git] Fatal: Not possible to fast-forward, aborting / fatal: 정방향이 불가능하므로, 중지합니다.

Fatal: Not possible to fast-forward, aborting.
fatal: 정방향이 불가능하므로, 중지합니다.

잘 돌아가던 git가 push를 하니 이런 에러를 뱉어냈다. 우선 별 문제는 아니니 걱정하지 않아도 된다. 일단은 아래 명령으로 해결된다.

git pull --rebase

이후에 push하면 잘 된다.

그러나 다시 이런 에러 메시지를 만나지 않으려면 아래까지 읽어야 한다.

왜 이런 일이 벌어지는 것일까?

별다른 설정 없이 git pull을 한 뒤 아래와 같은 메시지를 본 적이 있을 것이다.

warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

위 설명에 나오는 명령중 세 번째(git config pull.ff only)가 fast-forward만 하겠다는 것이다. 이 경우 merge가 불가능하고, merge가 필요한 경우에는 정방향으로 진행하는 게 불가능하다는 에러 메시지가 뜨면서 진행을 하지 않는 것이다.

즉, 허용되는 경우는 아래와 같은 경우다.

그래서 문제를 근본적으로 해결하려면 fast-forward only 옵션을 꺼야 한다. 아래 명령을 내려서 끈다.

git config --unset pull.ff

여담

나는 평소에 rebase보다는 merge를 선호해 git config pull.rebase false 명령을 내리곤 했는데, 이번엔 무심코 fast-forward를 선택한 모양이다. 뭔가 저장소가 꼬인 건가 싶었는데 별 게 아니었다.

카테고리

17년차 풀스택 웹 개발자 안형우입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기