Git 관련 질문드립니다.


GitHub 에 저장소를 하나 만들고 msysGit 라는 프로그램을 사용해서 git clone 을 했습니다. 후에 학교에서 개강 후에 사용할 소스 파일 전체를 클론한 폴더에 넣은 후 git add -> git commit -m -> git push 를 하니 아래와 같은 오류가 발생했습니다.

git fetch 후 다시 push 를 하면 될까요? 정확히 무슨 오류이고 어떻게 해결하는지 알고 싶습니다.

이미지


조회수 168


1 답변


좋아요
1
싫어요
채택취소하기

리모트 저장소(깃서버)에 있는 commit을 받아오지 않은 상태에서 push를 시도할 때 나타는 에러같습니다. 두 가지 방법이 있는데요.

  1. 로컬로 git pull 을 이용하여 최신 데이터로 업데이트 후 push하는 방법. 이 방법은 merge과정에서 conflict가 발생할 수 있습니다.

  2. git push --force 를 사용하여 강제로 push 하는 방법. 이 방법은 로컬에 있는 데이터가 그대로 저장된다고 보면 됩니다. (비추)

복사 후에 말씀하신 과정대로 진행했다면 이슈가 없었을텐데 이상하네요

  • 2016년 08월 31일에 작성됨
    Software Engineer

  • Git 가 아직 미숙해서 그런데 원래 한번 push 후에 다른 것이 생겨 추가되면 반드시 git pull 후에 git push 를 해야 하는건가요? commit 을 받아오지 않았다는 점이 이해가 잘 되지 않습니다..    Kim Minwoo   2016.9.1 12:52     
  • 아닙니다~ pull은 안하셔도 됩니다. 제가 알기로는.. 예를 들면 깃 홈페이지(리모트 저장소)에서 README.md 같은 파일을 직접 수정(커밋)하고, 로컬 저장소의 커밋 내역을 푸시하게될 경우 위와 같은 에러가 발생합니다. 리모트 저장소의 수정 내역을 로컬 저장소에서 모른다(commit을 받아오지 못했다)는 얘기입니다.    김선우   2016.9.1 19:19     
  • 좋은 말씀 감사드립니다. 덕분에 자주 저 오류가 발생했었는데 이젠 좀 덜해졌습니다.. ㅎㅎ    Kim Minwoo   2016.9.5 13:49     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close