git rebase 문제 재발생
* branch main -> FETCH_HEAD
fatal: Not possible to fast-forward, aborting.
상황 :git push 및 pull origin 브랜치에서 같은 오류가 발생
: git push origin +main 을 이용해 강제 push 했으나
git pull 을 제대로 하지 못함, readme가 반복해서 지워지고
contribution도 삭제가 되었다...(ㅜㅠ 리드미 3번째 수정중)
원인 :git rebase fast-fowarding 설정 문제
해결 1
git merge
merge
변경 내용의 이력이 모두 그대로 남아 있기 때문에 이력이 복잡해짐.
git rebase
rebase
이력은 단순해지지만, 원래의 커밋 이력이 변경됨. 정확한 이력을 남겨야 할 필요가 있을 경우에는 사용하면 안됨.
status: 위의 방법을 다 사용해보았으나 pull 이 해결되면 push가 안되고 반대의 경우 또한 발생함.
Fatal: Not possible to fast-forward, aborting.
원인 분석 :
별다른 설정 없이 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.
```
해결 1 : config 의 문제라고 생각함,
git config --unset pull.ff
설정 후
git rebase --abort
status :
Fatal: Not possible to fast-forward, aborting
git pull --rebase.
git pull origin <branch> --rebase
git config --global pull.rebase true
git pull --no-ff