Error-Git

2021-08-30

error: failed to push some refs to

push할 때 발생하는 에러로 remote 저장소만 변경될 때 발생한다.

일반적으로 local에서 변경 후, remote에 올린다. 그렇지만 remote에 있는 파일을 직접 변경 할 경우 해당 에러가 발생하는데 force명령어로 강제로 push하는 경우 데이터 유실이 발생할 수 있다.

sol repo를 pull로 받아와 변경사항을 맞춰준 후 push를 하자.

좀 더 자세하게 설명하자면,

  1. local에서 a,b,c파일을 push -> local: a,b,c /remote:a,b,c
  2. local에서 추가 작업 & remote에서 c파일을 수정 -> local: a,b,c,d,e /remote:a,b,c-1
  3. push 할 경우 해당 에러(error: failed to push some refs to) 발생
  4. remote에서 pull request -> local: a,b,c-1,d,e /remote:a,b,c-1
  5. push하기 -> local: a,b,c-1,d,e /remote:a,b,c-1,d,e

좀 더 자세하게 설명하자면, local과 remote는 한번 연동된 파일을 서로 추적하므로 c라는 파일이 한번이라도 연동된다면 version을 맞춰줘야 한다.
local에서 a,b파일을 올리고 추가 작업을 해 c라는 파일이 생긴 상태랑
local에서 a,b,c파일을 올리고 remote에서 c라는 파일을 삭제한 상태는 결과물(local:a,b,c /remote:a,b)은 같지만, 다른 상태라는 뜻 이다. 즉 위의 언급한대로 pull로 status를 동기화 해줘도 추가작업을 한 파일들은 remote에서 인식을 한지 못하는 작업물들 이기에 영향을 받지 않는다.

Leave a comment