Git 관련 질문드립니다.

조회수 1459회

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

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

이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

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

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

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

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)