git push 오류

DoRR·2025년 1월 8일
0

TechNote

목록 보기
1/2

github를 자주 사용하지는 않기에 항상 문제가 발생할 때마다 까먹어서 찾아보고 해결하고 하느라 전에 어떻게 해결했는지 기억을 못하는 도르마무(==나) 때문에 이걸 적음.

git push를 할 때마다 맨날
! [rejected] main -> main (non-fast-forward)
이게 나옴.
첨엔 그래서 이게 뭔데 ; 싶어서 찾아보고 강제로 push 하는 방안을 택했는데 그 덕에 내 git은 굉장히 더러워졌다..
관련 없는 것들도 다 push 되기 때문.

일단 지금에서의 상황은 git push orgin main을 하니
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/~~ 발생
이건 로컬 브랜치가 원격 브랜치의 변경 사항을 포함하지 않고 있어서 git push가 거부된 것이라 한다.

일단, git pull --rebase orgin main 을 한 후에, rebase 중단된 상태에서 충돌 해결 시도

여기서 잠깐 !
rebase 란 ?
한 브랜치에서 다른 브랜치로 합치는 방법 중 하나.
merge와 달리 까다롭지만 커밋 히스토리를 깔끔하게 관리할 수 있는 병합 방법
i.e. base를 새롭게 설정한다 ~

충돌 해결

원인 : .DS_Store 파일에서의 충돌 발생

해결 : .DS_Store 파일은 macOS 시스템에서 자동 생성되는 숨김 파일, 보통 버전 관리에서 제외하는 것이 좋음

    1. .gtignore 파일에 .DS_Store 추가
echo ".DS_Store" >> .gitignore 
    1. .DS_Store 파일을 Git에서 제거
% git rm --cached .DS_Store

충돌 파일 추가

: Git에 변경 사항 추가

git add .gitignore
git add .

rebase 계속 진행

git rebase --continue

push

git push origin main

이렇게 해결 완.

profile
뒤죽박죽 개발 기록

0개의 댓글