2013-03-12 2 views
4

나는 딜레마가 있습니다. 이미 rake deploy을 작성했으며 Octopress 블로그가 올바르게 작동합니다.내 Octopress 블로그를 올바르게 업데이트하는 방법

git add . 
git commit -m 'message' 
git push origin source 

좋아, 처음 두 작품 좋은,하지만 나를 미치게 GitHub의에 소스 코드를 업데이트하지 않기 때문에 세 번째 드라이브 : 문서 나 다른 3 단계를 수행 할 필요가 있다고 말한다. 대신, 모든 Octopress 소스 코드를 포함하는 source이라는 또 다른 분기를 만듭니다. 왜? rake deploy 할 때마다 내 소스 코드를 업데이트해야한다. 하지만이 명령을 실행하면 번이 시간이 걸립니다. 왜냐하면 300 개 이상의 블로그 게시물과 이미지가 있기 때문입니다.

어떻게해야합니까?

답변

2

당신은 시도하고 "Octopress: Setting up a Blog and Contributing to an Existing One"문서를 따를 수 :

이 어떻게 하나의 시작 (새 컴퓨터 또는 자신) 기존 Octopress 블로그에 기여 하는가? 우리가 원하는 것은 위와 동일한 설정이지만, 처음부터하는 것은 아닙니다.
git clone https://github.com/username/username.github.io.git -b source 
cd username.github.com 
git clone https://github.com/username/username.github.io.git -b master _deploy 
cd .. 

OP ThXou adds : 나는 내 코드, 을 업로드하려면 내가 rake deploy마다을 할 필요가 있음을 이해

. April 5th 2013 이후, 모든 username.github.com 지금 username.github.io, 즉


참고. 그 세 줄은 당신이 당신의 GitHub의 저장소의 source 가지로 Octopress 블로그합니다 (지킬 프로젝트)의 소스에 수행 한 모든 변경 사항을 업로드하면된다 무엇

+0

모든 기사를 읽었지만 이전과 동일한 문제가 있습니다. 내 octopress 폴더의 모든 파일이 원본 또는 _deploy 폴더가 아닌 github에 복사됩니다. 내가 프로젝트에 공헌 한 것처럼한다면, 나는 레이크 명령을 실행할 수 없다. – thxou

+0

마지막으로 필자는 코드를 업로드하고자 할 때마다 매번 '레이크 배포'를해야한다는 것을 이해했습니다. 기사 주셔서 감사합니다, 그것은 많이 도움이되었습니다. – thxou

2

(이것은에 모든을 포함 않습니다 루트 디렉터리, 관련이없는 source 폴더에있는 소수의 파일 만이 아님). 한편

, 어떤 rake deploy가하는 것은 (이 결과는 _public 디렉토리에서 가져옵니다) 블로그를 생성하고 GitHub의 저장소의 gh-pages 브랜치에만 결과 (모든 정적 HTML 페이지)을 업로드합니다.

기술적으로, 당신은 은 GitHub의에 대한 소스를 업로드이없는, 그러나, 그것은 당신의 하드 드라이브가 실패하거나, 정보가 없어 어떤 이유로 경우에 큰 도움이, 당신은 처음부터 소스를 다시 작성해야 (그리고 나는 HTML 페이지를 가져와 _layouts, _includes, _posts 및 스타일로 다시 "디 컴파일"하는 스크립트가 없다고 확신합니다.나는 보통 결과과 동시에 소스을 업로드 때문에

, 나는 당신이 말한대로, 그것을 실행하는 모든 분 소요 (이 도와주는 배쉬 스크립트를 생성하지만, 그냥 한 step aside and do something else in the meantime) :

#!/bin/bash 

# Load RVM into a shell session *as a function* 
# NOTE: Not necessary if you already have a line similar to this in '~/.bash_profile' 
[[ -s "/home/andreas/.rvm/scripts/rvm" ]] && source "/home/andreas/.rvm/scripts/rvm" 

# Create static site 
rake generate 

# Publish site to GitHub 
rake deploy 

# Fetch the optional commit message (as an argument) 
if [[ -z "$1" ]]; then 
    message="Updated source `date`" 
else 
    message="$1"; 
fi 

# Push the changes to 'source' to GitHub 
echo "" 
echo "## Commit source to GitHub" 
git add . 
git commit -a -m "$message" 
git push origin source 

는 사용 deploy.sh 같은로 저장하고 실행합니다. 어떤 메시지가 제공 커밋하면 자동으로 Updated source Thu May 8 23:50:14 CDT 2014의 라인을 따라 커밋 메시지를 생성,

$ deploy.sh "Add blog post 'Why Pandas are going to kill us all'" 

: 그것은 당신이 커밋 메시지를 지정할 수 있습니다 하나 개의 선택 매개 변수를 사용하지 않습니다.

+0

설명과 bash 스크립트를 주셔서 감사합니다. 매우 유용 할 것입니다. – thxou