기본적인 블로그 세팅이 끝났다.
이전 포스트를 따라 블로그 세팅을 했다면, 실질적으로 .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