티스토리 뷰

git push origin main

> react@0.0.0 lint
> eslint --cache .

To 
https://github.com/~~~
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to '
https://github.com/~~~'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 git push를 하니 위와 같은 에러가 발생했다. 이는 현재 브랜치와 리모트 브랜치가 다르게 분기되어 있기 때문에 발생하는 에러이다. 이를 해결하기 위해서는 (힌트에도 나와있듯) git pull을 이용해 통합하면 된다. 이 때, 대략 3가지 방법이 있다.

  • git pull --rebase origin main: rebase를 이용하여 통합하는 것으로, 커밋 히스토리를 유지하면서 통합하는 방법
  • git pull --no-rebase origin main: 기본 merge 방식으로 통합. 커밋 히스토리를 유지
  • git pull --ff-only origin main: Fast-forward 방식으로만 통합.

이 때, 나는 현재 로컬의 코드를 우선시하고 싶었다. 만약 로컬 브랜치의 코드와 원격 브랜치의 코드가 다를 경우, 로컬 브랜치의 코드를 살리고 싶었다. 그래서 git pull --no-rebase origin main을 이용하였고, 이후 git push가 정상적으로 동작하였다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함