본문으로 건너뛰기
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 오류 해결 미완료 상태