본문으로 건너뛰기
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

non-fast-forward push 오류 해결 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“non-fast-forward push 오류 해결” 실습을 안전하게 진행하기 위한 판단으로 가장 알맞은 것은 무엇인가요?
  2. 문제 2“non-fast-forward push 오류 해결”의 작업 기준으로 ‘공유 브랜치를 무심코 rebase’을 진단하거나 바로잡은 선택은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

12강. non-fast-forward push 오류 해결 미완료 상태