2011-06-14 5 views
20

Github에는 자동으로 생성 된 HTML 문서가 포함 된 디렉토리가 있습니다. Github의 프로젝트 페이지 기능에서 해당 문서를 사용하고 싶습니다.프로젝트 설명서에서 Github 페이지를 만드는 방법은 무엇입니까?

그래서 나는 create the project's gh-pages root branch에 대한 지침을 읽었습니다. 이렇게하면 빈 지점이 효과적으로 생성됩니다.

master 브랜치에서 /docs 경로의 html 파일을 미러링하면 도움이되므로 gh-pages 브랜치의 루트에 있습니다. 이것을 접근하는 가장 좋은 방법은 무엇입니까?

+2

[내 관련 답변] (http://stackoverflow.com/a/29616287/946850) 및 대안 [writeup] (http://krlmlr.github.io/git-subbranch)을 참조하십시오. – krlmlr

+0

[git branch : gh-pages] (http://stackoverflow.com/questions/4750520/git-branch-gh-pages)의 가능한 복제본 –

+0

안녕하세요, @Martijn Pieters, 전 제 게시물을 삭제하는 것이 좋습니다. 질문은 속임수로 봉쇄됩니다. 지금까지는이 것이 없습니다. –

답변

16

내 자신의 질문에 대답 ... 내가 원하는 자식 하위 모듈을 달성했습니다.

나는 기본적으로 detailed in this sake task을 무엇 복사,하지만 요약 :

  • 는 임시 폴더에 docs 경로를 이동했다. 변경 사항을 적용하십시오.
  • 만든 새 gh-pages 지점에 임시 폴더에서 usual instructions
  • 이전 모든 것을 따라 깨끗한 gh-pages 지점. 변경 사항을 적용하십시오.
  • 마스터 브랜치에서 docs 폴더에 리모컨 gh-pages을 하위 모듈로 추가하십시오.
  • 커밋 변경. 빌라!
+6

'docs' 폴더에'cd'해야하고, 별도로 모든 것을 커밋/푸시해야합니까, 아니면 루트에서 하나의 명령으로 그렇게 할 수 있습니까? –

+0

이 접근법을 사용하여'gh-pages'에 대한 각 업데이트를 서브 모듈로 가져와야합니까? 그것은 실제로 잘 작동합니까? – krlmlr

0

해당 지점의 파일에 대한 심볼릭 링크를 만듭니다. 당신도 그것들을 저지를 수 있어야합니다.

1

Mhm, 결국 두 개의 Makefile 대상을 작성하여 내 문서를 푸시합니다. 나는 단지 update-doc을 만들 뿐이며 일반적으로 작동한다.

TMP_PATH="/tmp/some_path" 

## the dir containing HTML docs to push to gh-pages 
HTML_DIR="html" 

## arbitrary dirs created by the doc build system that should be removed 
TRASH=latex 

update-doc: doc 
     rm -rf ${TMP_PATH} && cp ${HTML_DIR} ${TMP_PATH} -R && rm -rf ${HTML_DIR} 
     git fetch 
     git checkout gh-pages 
     cp ${TMP_PATH}/* . -R 
     rm -rf ${TRASH} 
     git add . 
     git commit -m "Update documentation" 
     git push -u origin gh-pages 
     rm -rf ${TMP_PATH} 
     git checkout master 

# command to build documentation; can be customised but 
# remember to also change the HTML_DIR and TRASH variables 
doc: 
     doxygen docs/doxygen.conf 

.PHONY: doc update-doc 

나는 doxygen을 사용하지만 다른 문서 시스템으로 변경할 수 있습니다.

여기에는 gh-pages 브랜치가 리모컨에 있다고 가정하고 설명 된대로 here이라고 가정합니다.