Git · GitHub 기초집LESSON 12
non-fast-forward push 오류 해결
난이도입문 → 초급
예상 시간30분
선수지식이전 강의
12강. non-fast-forward push 오류 해결
1. 이번 강의에서 해결할 문제
다른 위치나 GitHub 웹에서 원격 main이 먼저 변경되면 내 push가 원격 이력을 덮을 수 있어 거절됩니다. 강제 push 대신 원격 차이를 가져와 통합합니다.
2. 학습 목표
3. 핵심 개념
원격 브랜치 끝이 내 로컬 브랜치의 조상이 아니면 단순 포인터 전진이 아닙니다. GitHub는 기본적으로 이런 push를 거절해 원격 커밋 손실을 막습니다. 먼저 fetch하고 팀의 통합 정책에 따라 rebase 또는 merge합니다.
4. 단계별 명령어와 예시
실습 경로: C:\dev\git-learning-site
PowerShell
Set-Location C:\dev\git-learning-site
git fetch origin
git log --graph --oneline --decorate --all -n 15
git log --oneline HEAD..origin/main
git diff HEAD..origin/main
git rebase origin/main
git push origin main
rebase 중 충돌을 해결한 뒤에는 git add <파일>과 git rebase --continue를 사용합니다. 중단하려면 git rebase --abort를 실행합니다.
5. 명령어가 동작하는 이유
fetch는 원격 참조를 갱신하되 작업 파일을 건드리지 않습니다. rebase는 내 로컬 커밋을 원격 최신 커밋 뒤에서 다시 적용해 직선 이력을 만듭니다. 아직 공유하지 않은 로컬 커밋에 사용하는 것이 안전합니다.
6. 자주 하는 실수와 안전한 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
MINI QUIZ
0 / 2non-fast-forward push 오류 해결 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
12강. non-fast-forward push 오류 해결 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.