2016-12-20 4 views
0

이름에 밑줄이있는 폴더가있는 프로젝트를 푸시하려고합니다. "realityking/hash_equals": "dev-master"을 사용하는 BigCommerce Hello World 앱입니다. 종속성은 'vendor \ realityking \ hash_equals'에 있습니다. 프로젝트를 푸시 한 다음 복제하면 hash_equals 폴더가 비어 있습니다. Heroku에서 저장소를 삭제하기 위해 git rm -r *을 실행하면 오류가 발생합니다.힘내는 밑줄을 좋아하지 않습니다.

오류 : 다음 파일은 파일과 머리 모두에서 다른 콘텐츠 개최했습니다 공급 업체/realityking/hashequals을

내가 그것을 삭제 모든 노력을하지만 내가 할 수있는 (제거를 강제로 -f를 사용) 아니. 앱을 삭제하고 새 앱을 만들고 로컬에서 .git 파일을 삭제하고 다시 시작했는데 같은 문제가 발생합니다.

분명히 폴더 나 파일 이름에 밑줄을 사용해서는 안되지만 분명히 작동하는 것으로 입증 된 기존의 "Hello World"프로젝트입니다.

해결 방법이 있습니까?

+1

Heroku 빌드 로그에 "Git submodules detected, submodule 'vendor/realityking/hash_equals'설치가 나타 납니까? –

+1

아니요, 경고가 있습니다. 경고 : 작성자 공급 업체 디렉토리는 Git 저장소의 일부입니다. 이 디렉토리는 버전 제어를해서는 안됩니다. 'composer.json'및 'composer.lock'파일 만 추가해야하며, 은 Composer가 배포시 종속성 설치를 처리하도록합니다. 벤더 폴더를 푸시하지 않겠습니까? 나는 그것을 작동시키지 못했고 벤더 폴더에서 뭔가를 찾을 수 없다는 오류가 발생했기 때문에 .gitignore에서 꺼 냈습니다. – Matt

+0

이것은 밑줄과 관련이 없습니다. Stephen이 제안한 것처럼'vendor /'폴더를 추적하기 시작했을 때 실수로 부분적으로 구성된 서브 모듈을 만들었을 것입니다. – Chris

답변

2

Heroku는 배포 할 때마다 'composer.json'및 'composer.lock'을 사용하여 공급 업체 디렉토리를 복원합니다. 이것은 vendor 디렉토리가 이 아니고이 Git으로 커밋되어야 함을 의미합니다.

두 파일을 커밋하면 Heroku's PHP buildpack은 작곡가를 사용하여 패키지를 복원합니다.

저장소를 복원 할 때 Composer를 사용해야하므로 저장소를 복제 할 때 디렉토리가 비어 있습니다. php composer.phar install 명령을 사용하여 공급 업체 디렉토리를 다시 채 웁니다.

저장소에서 hash_equals 디렉토리를 제거하려면 git rm -fr vendor/realityking/hash_equals 명령을 사용하고 커밋하십시오.