[Hexo] Github Blog 백업하기


기본적인 블로그 세팅이 끝났다.
이전 포스트를 따라 블로그 세팅을 했다면, 실질적으로 .md파일이 저장되는 repository가 없음을 확인할 수 있다.
즉 다른 컴퓨터 환경에서 블로그 포스트를 이어서 작성할 수 없으며, .md파일들을 백업하지 않는 이상 해당 데이터들이 손실됐을 때 저 스틱스 강에 영원한 쎄이굿바이를 외쳐야 한다.
테마도 마찬가지다. 오픈소스 특징으로 테마도 항상 업데이트되는데, 모두가 사람인지라 코드가 항상 완벽할 수 없다. 그래서 최신의 테마를 가져와서 프로그램을 구동하다보면 치명적인 에러가 발생하는 경우가 많다.

이러한 불상사를 막기 위해 .md파일과 테마를 백업할 수 있도록 세팅을 진행해보자.

사전 준비




백업 Repository 생성하기


각자의 github에 접속하여 2개의 repository를 생성한다.

  • theme를 저장할 repository
  • .md파일을 저장할 repository



theme 백업하기


themes/테마명 내에서 다음의 명령어들을 실행한다.

# 원격 저장소 변경(theme url로 된 세팅을 자신의 repository url로 재세팅)
git remote set-url origin "theme를 저장할 repository 주소"

# 테마 내용 백업
git commit -m "theme backup"
git push origin



.md 파일 백업하기


hexo blog 디렉토리에서 .md파일을 저장할 repository를 세팅해준다.

# git 초기화
git init

# 원격 저장소 등록
git remote add origin ".md파일을 저장할 repository 주소"

# 현재 내용 백업
git add .
git commit -m "blog backup"
git push origin



(선택) theme폴더 submodule 추가


  • 이제부턴 다른 환경에서 이 백업파일들을 클론하면 .md파일들과 테마들이 그대로 유지된다.
    다만 git clone을 두 번 써야 한다는 불편함이 있는데, 한 번의 git clone으로 theme도 자동으로 클론할 수 있도록 세팅을 해준다.
    이 작업은 hexo blog 디렉토리에서 진행한다. 아래의 명령어를 잘 입력하면 자동으로 theme도 같이 clone 때 다운받아진다.
    # 기존의 <themes/테마명>를 삭제
    rm -rf themes/테마명
    
    # 백업해둔 theme repository를 submodule로 추가
    git submodule add "theme를 저장한 repository 주소"
    
    # 현재 내용 백업
    git add .
    git commit -m "blog theme submodule"
    git push origin
    
  • 앞으로 새로운 환경에서 블로그를 다시 운영할 때 아래의 명령어로 기존 환경을 재구성해준다.
    git clone --recursive ".md파일을 저장한 repository 주소" blog
    cd blog
    npm install
    

Author: Ruby Kim
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Ruby Kim !
Comments
  TOC