2013-09-07 5 views
6

에 원격 Heroku가의 환매 특약을 추가 한 후 Heroku가에 강제 할 수 없음 시나리오입니다 :는 기존 지역의 repo 여기

1) 내 사업 파트너와 나는 함께 우리의 코드 REPO로 github에를 사용하여 루비 레일에 응용 프로그램 작업을했다.

2) 응용 프로그램은 그녀의 github의 계정에서이며 그녀는 그녀에게 Heroku에 배치하고 거기 협력자뿐만 아니라

4) 내가 사용되는 다음 날 추가) 협력자

3 나를 추가했다 명령을 내 기존의 응용 프로그램 디렉토리에서 기존의 Heroku 원격 응용 프로그램을 원격으로 기존의 로컬 응용 프로그램에 추가 할 수 있습니다. 내가 전에 언급 한 바와 같이 내 기존 로컬 응용 프로그램은 이미 그럼 난 밀어 시도 나는 약간의 변경을

git remote add heroku [email protected]:codefellow.git 

5) 원격 github에 있었고 github에 그들을 밀어 모든 최신

6)에 있었다 이 아래 그림과 같이 내 지점의 끝이 뒤에 이라며 나에게 오류를 만들었지 만 다음 명령

git push heroku master 

7)와 Heroku가에 내가 GitHub의에서 끌어하려고 할 때, 그것은 내가 최신했다 아래와 같이도

➜ code-fellows-alumni git:(master) git push heroku master 
To [email protected]:codefellow.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]:codefellow.git' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 
➜ code-fellows-alumni git:(master) git pull 
Already up-to-date. 

여기에 무슨 일이 일어나는지 아는 사람이 있습니까? 내가 Github에 대해 최신 정보를 얻는다면 내 지부가 Heroku와 어떻게 일치하지 않을 수 있습니까? 내 프로젝트 파트너가 Github에 먼저 푸시하지 않고 Heroku에 변경 사항을 적용하는 것이 가능했을까요? 나는 점검했고 그녀는 신청서를 제출하지 않았다. 나는 그녀가 지금 무엇을했을지를 알아 내기 위해 순간에 그녀와 연락을 취할 수 없다. 나는 그녀가 아직 Github에 밀리지 않았다면 그녀가 Heroku에 변화를 추진할 수 있을지조차 확신하지 못한다. 어떤 통찰력이라도 크게 감사 할 것입니다. 내가 Github와 로컬로 동기화했기 때문에 Heroku에서 앱을 복제하고 싶지 않습니다. Github를 코드 저장소로 사용하고 Heroku의 복제본에서 시작하기를 꺼립니다. 나는 이것에 관한 Heroku 문서를 이미 보았다 : https://devcenter.heroku.com/articles/git. 그것은 단지 복제품을 말하지만 전술 한 이유로 그걸하고 싶지는 않습니다. 나는이 질문에 대한 답변 (How to link a folder with an existing Heroku app)에 주어진 지시 사항을 따라 갔지만, 누락 된 부분이 있거나 프로젝트 파트너가 이상한 일을 한 것처럼 보입니다. 당신이 가지고있는 도움이되는 아이디어에 미리 감사드립니다.

+0

이 'git pull heroku master'를 실행 한 다음 충돌을 제거한 후 다시 푸시하려고 시도하십시오. –

+0

감사합니다. 나는 그것이 push 명령과 같다고 생각했지만 이전에 그것을 한 적이 없었습니다. – Sedona

답변

24

표시되는 메시지는 로컬 복사본에없는 응용 프로그램이 변경되었음을 의미합니다. Heroku 리모컨이 자신보다 앞서 있기 때문에 거부하면 밀어 넣기 때문에 파트너가 Github으로 푸시하지 않고 Heroku로 푸시했다고 생각하는 것이 옳습니다. Heroku에 배포 할 때 로컬 저장소에서 배포하는 것이 일반적인 시나리오입니다 일반적으로 Github에서 코드를 배포하는 전통적인 Capistrano 배포와는 다릅니다.

그것은 발생하는이를 방지 작업의 방법을 마련 할 수있는 팀으로 아래로 당신,하지만 당신은 지금 작동하는 데 필요한 경우 중 하나를 수행 할 수 있습니다

  • git push heroku master -f. 이렇게하면 변경 사항이 적용되고 현재 코드 내용을 덮어 씁니다.
  • git pull heroku master 변경 사항이있을 때 Heroku의 변경 사항을 로컬 저장소로 가져와 git push heroku master으로 변경해야합니다.
+1

정말 고마워 !! 이것은 내가이 주제에 대한 토론에서 수집 한 다양한 의견을 명확하고 확실하게 캡슐화 한 것입니다. 나는 오히려 github을 소스로 유지하기 때문에 파트너와 연락 할 때까지 기다려야한다고 생각합니다. 기다릴 수있는 사치를 느낍니다. 그러나 내가 기다릴 수 없다면 내 선택이 무엇인지 정확히 아는 것이 좋다. 이것이 무슨 일이 일어나고 있는지 확인하는 것도 좋습니다. 다시 한번 감사드립니다. – Sedona