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 파일은 macOS 시스템에서 자동 생성되는 숨김 파일, 보통 버전 관리에서 제외하는 것이 좋음
echo ".DS_Store" >> .gitignore
% git rm --cached .DS_Store
: Git에 변경 사항 추가
git add .gitignore
git add .
git rebase --continue
git push origin main
이렇게 해결 완.