Git에서 더 이상 빨리 감기 병합을 허용하지 않는 이유는 무엇입니까? 를 사용하여 강제로 시도하면 --ff-only"치명적 : 빨리 감기가 불가능합니다. 중단 중"이라는 메시지가 표시됩니다. 에 큰 이점이 있다는 것을 알고 merge --no-ff있지만 왜 지금은 할 수 없는지 의아해합니다 --ff-only.
답변:
브랜치는 더 이상 병합하려는 브랜치를 직접 기반으로하지 않습니다. 예를 들어 브랜치에없는 대상 브랜치에 다른 커밋이 추가되었습니다. 따라서 빨리 감기를 수행 할 수 없습니다 (빨리 감기를 수행하려면 브랜치가 대상 브랜치를 완전히 포함해야하기 때문입니다).
대상 브랜치 ( git rebase <destination branch>) 의 맨 위에 브랜치를 리베이스하여 커밋을 재 작업하여 빠르게 포워드하거나 일반 병합을 수행 할 수 있습니다.
ff명령에서git config pull.ff only
이 오류가 발생하는 이유는 "병합 충돌"때문입니다. 업데이트의 각 단계에서 변경 사항을 가져 오지 않고 GitHub 파일을 여러 번 편집 / 업데이트하면 병합 충돌이 발생합니다.
일반적인 경우 :-
$ git pull
참고 :-오류가 발생합니다. 치명적 : 빨리 감기 불가능, 중단
이걸로 해봐:-
$ git pull origin master --rebase
참고 :-이제이 명령 후에 병합 충돌 문제가 발생합니다. 이제 파일로 이동하여 충돌을 수동으로 해결할 수 있습니다. 병합 충돌 오류
빨리 감기 전용 옵션을 활성화했기 때문입니다. 여기서는 브랜치에서 가져 오기가 로컬 git에 병합 커밋을 생성하고 빨리 감기 전용 옵션은 가져 오기시 병합 커밋을 생성하는 것을 허용하지 않는다는 것입니다.
큰 팀의 경우, 많은 시간과 풀에서 오는 모든 커밋에 대해 갈등을 리베이스하고 해결하게 될 것입니다.
ff = git 로컬 구성 파일에서 한 줄만 제거하는 것이 좋습니다.
$ cd to-my-project-root-dir
$ nano .git / config
[pull]
ff = only // remove this line
rebase = false