2013-08-14 2 views
1

내 프로젝트에서 Ant 빌드 스크립트를 사용하여 "게시"라는 빌드 디렉토리를 만듭니다. 일단 빌드를 실행하고 새 빌드로 게시 폴더를 업데이트하면 추가됩니다. 마지막으로 이것을 github의 원격 리포지토리에 푸시합니다.git 서브 트리를 사용하여 빌드 디렉토리 배포

게시 폴더가 프로젝트에 추가되면 내 로컬 컴퓨터에서 Yeoman이 제안한이 명령을 실행합니다. 초기 실행에

git subtree push --prefix publish origin deployment 

그것은라는 자신의 지점에 폴더를 게시 내 배포 "배포."

언제 내가 실행 한 후, 파일을 추가 파일을 커밋 및 원격 REPO에 파일을 누르고, 다시 빌드를 실행 그 서브 트리 명령은 다시 로컬로 거부됩니다.

! [rejected]  22cd5e0605fcc771615bdacbde9bd95582705c17 -> deployment (fetch first) 
error: failed to push some refs to '[email protected]:[org]/[repo].git' 
hint: Updates were rejected because the remote contains work that you do 
hint: not have locally. This is usually caused by another repository pushing 
hint: to the same ref. You may want to first merge the remote changes (e.g., 
hint: 'git pull') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

이러한 종류의 워크 플로에서 가장 좋은 방법은 무엇입니까?

+0

[하위 하위 트리 - 하위 트리를 최신 상태로 유지할 수 있지만 밀어 넣을 수 없음] (http://stackoverflow.com/questions/13756055/git-subtree-subtree-up-to-date-but-cant -push) –

+0

명령의 순서는 트릭을 수행하는 것 같습니다! 일을 원활하게 진행할 수 있도록 열어 둡니다. 'git subtree pull --prefix = 원산지 배포' '자식 하위 트리 푸시 --prefix = 원산지 배포 게시' –

+2

자신의 질문에 답변 할 수 있습니다. –

답변

1

이 경우 grunt-build-control을 사용하는 것이 가장 좋습니다. 설치하는 데 10 분이 걸리지 만 매력처럼 작동하며 리모콘에 빌드 폴더를 전체적으로 배포하면 버전 관리가 완벽하고 통증이 없습니다.

이제는 Yeoman wikibtw에서도 언급되었습니다.

관련 문제