2012-09-13 4 views
6

Heroku에 푸시하려고 시도한 후에이 오류 메시지가 나타납니다 (아래 복사). 나는 처음에 페이스 북 캔버스 응용 프로그램을 설정하고 heroku 옵션에서 호스팅을 선택했습니다. 그것은 나에게 내가 내 컴퓨터Heroku : 'git push -f'다음에 "git pull"하는 방법

heroku git:remote -a desolate-springs-1684 

을에서 개발 된 응용 프로그램에 원격으로 추가 된 Heroku가 URL을 준하지만 밀 때, 나는

error: failed to push some refs to '[email protected]:desolate-springs-1684.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again. See the 
'Note about fast-forwards' section of 'git push --help' for details. 
localhost:nhl michaelmitchell$ 

그래서 내가

을 한이 오류가 발생했습니다
git push -f heroku master 

하지만 이제 분명히 'git pull'을해야합니다. 그러나 'git pull'후에 무엇을 넣을 까? 영웅의 이름은? 또는 다른 것?

답변

18

귀하의 git push을 강제 실행하는 것은 귀하 또는 귀하가 작업 복사본에서 누락 한 다른 공동 작업자가 수행 한 커밋을 잃어 버렸기 때문에 좋지 않았습니다.

밀어 넣기 전에 업스트림 변경 사항을 로컬 작업 복사본에 병합하거나 리베이스해야합니다.

이 변경 사항을 밀어 것을 지금, 로컬
$ git pull heroku master 
$ git push heroku master 

이 BTW 로컬

$ git pull --rebase heroku master 
$ git push heroku master 

을 변경 사항을 리베이스에 변경 사항을 병합하려면, 당신은 실제로 다른 작업을 수행 할 필요가 없습니다. 원격 저장소에 이미 모든 변경 사항이 포함되어 있습니다.

$ git status 명령이 오래된 참조를 반환하는 어떤 이유에서, 단순히

$ git pull heroku 

모든 원격 변화를 가져 오기 위해 실행하는 경우. 대상 분기를 지정하지 않거나 추적 분기를 활성화하지 않은 경우 git pull은 업스트림 변경 사항을 다운로드 만하면됩니다 (병합하지 않음).

또한 Heroku는 git hosting으로 간주되어서는 안됩니다. 그것은 Heroku에서 git pull을 수행하는 것은 매우 드뭅니다. 대신 git 호스팅 (예 : GitHub 또는 BitBucket)을 사용하여 저장소를 저장하고 응용 프로그램을 배포하기 위해 Heroku에 밀어 넣기 만 수행해야합니다.

1

기본적으로이 오류는 Repo에 밀어 넣으려는 코드보다 새로운 코드가 있음을 의미합니다. 당신은 모든 자식 명령에 익숙하지 않은 경우

당신은 내가, 측면 참고로 푸시에게

git pull heroku master 

을 풀을 다시 누르면 다음 자신의 작업 저장소를 업데이트하거나 강제로 GUI를 사용하는 것이 좋습니다. 전체 프로세스를 훨씬 덜 압도적으로 만들 수 있습니다.

여기에 훌륭한 고객이 많이 있습니다. http://git-scm.com/downloads/guis