2012-12-17 3 views
7

원하는 작업 : github을 사용하고 있습니다. 두 지점이 있습니다. 마스터 및 gh 페이지. master 브랜치에 unity3d 프로젝트가 있습니다. 실행하면 웹 페이지가 생성됩니다. 웹 페이지의 내용을 g-pages 분기에 표시하려고합니다.마스터 브랜치에서 gh-pages 브랜치로 빌드

내 저장소의 두 지점간에 폴더를 공유해야한다는 것을 의미한다고 가정합니다. 거의 불가능한 것처럼 보입니다.

올바른 방법이 있습니까? 현재 솔루션은 두 개의 github 프로젝트를 만들고 첫 번째 프로젝트에서 두 번째 프로젝트로 만드는 것입니다. 그런 다음 두 번째 페이지에 대한 gh 페이지를 봅니다. 그건 아주 외계인 같아. 나는이 모든 것을 하나의 프로젝트로 수행 할 수 있어야한다.

+0

O.o 매우 이상한 상황입니다 ... 나는 2와 다른 지점에서 웹 페이지를 처리했을 것입니다. –

+0

너무 오랫동안 이것을 할 것으로 기대하지 않습니다. 조만간 게임에 자체 웹 사이트가 생기 겠지만 지금은 빌드/커밋 및 다른 재미있는 비즈니스없이 호스트 할 수 있다는 점에서 훌륭합니다. – tavoe

+0

다음은 작동하는 것입니다 : "git checkout master WebPlayer/WebPlayer.unity3d". gh 페이지에서 실행하면 웹 플레이어가 실행됩니다. gh- 페이지를 실행할 때마다 스크립트를 실행할 자동화 할 수 있습니까? – tavoe

답변

1

이것은 지킬 작업 흐름과 유사합니다. 예를 들어 unity3d 콘텐츠가 foo 폴더에 생성되었다고 가정 해보십시오. foo.gitignore에 추가 한 후 할 당신은 단지 첫 번째 저장소의 작업 디렉토리 구조 내에서 다시 저장소 를 복제 할 수

git checkout master 
<run unity3d> 
git checkout gh-pages 
git rm -qr . 
cp -r foo/. . 
rm -r foo 
git add 
git commit 

Example

9

이. 그래서 로컬,이 폴더 구조가 있습니다

project 
|- .git/ 
|- .gitignore 
|- (other project related files) 
|- deploy/ 
    |- .git/ 
    |- (deployed files) 

모두 projectdeploy 프로젝트의 저장소를 복제됩니다; deploy에는 gh-pages 분기가 체크 아웃되었습니다. 바깥쪽에는 분명히 deploy/이 나열되어 있으므로 프로젝트의 폴더는 무시됩니다. 배포 할 때

지금, 당신은 그것으로 다음 배포 폴더에 CD를 모든 파일을 게시 할 git add ., git commit, git push 및 생성 된 파일이 배포을한다.

분명히 이것은 master와 gh-pages 브랜치 사이의 실제 관계를 제공하지 않을 것이지만, 둘 다 동일한 저장소에서 서로 완전히 독립적으로 살아있을 것입니다.

+0

이것은 [비교적 ​​인기있는 요지] (https://gist.github.com/chrisjacob/825950)에서 논의됩니다. –

0

나는 doxgen 문서를 마스터에서 gh-pages로 쉽게 푸시하고 싶었습니다.

나는 비슷한 해결책을 읽고 내 눈은 윤이났다.

내 솔루션이었다

  1. 소스 지점 : 파일은 .gitignore이 나열했습니다 "임시 디렉토리"합니다 (.gitignore 나열된 디렉토리를 보존하는)-GH 페이지에
  2. 변경 지점
  3. GH -pages 지점 : 적절한 디렉토리에 임시 디렉토리에서 rsync와는
  4. GH-페이지 분기 : 적절한 위치 디렉토리를 '자식은 -u 추가'
  5. GH-페이지 지점 :
  6. 를 '자식 커밋'

업데이트를 수동으로 실행하고 커밋해야합니다. 특정 빌드에서만 웹 사이트에 게시하는 경우 좋은 방법 일 수 있습니다.https://github.com/nekenyu/libBsdSockets/blob/gh-pages/update_doc.sh

1

체크 아웃 환상적으로 멋진 gh-pages NPM 모듈 :에서

예 (주로 댓글). 몇 줄의 코드를 사용하면 다음과 같습니다.

gh-pages 분기를 만들어 github! 워드 프로세서에서보다 상세하게

: 현재 저장소의 임시 클론을 만들 것입니다이 함수를 호출

는 하나가 이미 존재하지 않는 경우 gh-pages 지점을 만들 기지에서 모든 파일을 복사 경로 또는 선택적 src 구성의 패턴과 일치하는 패턴 만 변경하고 모든 변경 사항을 적용한 후 origin 리모컨으로 푸시합니다.

슈퍼 구성 가능하며 나를위한 매력처럼 작동합니다.

관련 문제