Takahiro Octopress Blog

-1から始める情弱プログラミング

Octopress Blogを別PCに移行しようとして苦労した話

| Comments

新しいPCを購入したので、Octopress Blogを移行してみました

さて、本日は新しく購入したMacbook Proに本ブログの投稿環境を移行した話を書きます。
何気に今まで目を背けていたことが仇となって結構苦労しました(汗)

今後、PCを買い換えることがまたあると思うのでメモ代わりに残しておこうと思います。

1.ローカルとリモートのソースを合わせる
当然ではあるのですが、Gitで管理しているローカルとリモートのソースを合わせます。
筆者は実は2年間くらい放置していたので、結構、デグレっててたいへんで、しかもこれが尾を引くことに…

2.source ブランチをクローンする
最新にしたsourceブランチを新しいMacbook Pro側でクローンします。

1
$ git clone -b source https://github.com/XXX/XXX.github.io.git

3.masterブランチを_deployディレクトリとしてクローンする
ブランチをmasterに変更することを忘れずに!

1
2
$ cd XXX.github.io
$ git clone https://github.com/XXX/XXX.github.io.git _deploy

4.bundlerをインストールする

1
$ gem install bundler

5.GitHub Pagesを設定する

1
2
3
4
$ bundle install
$ rake setup_github_pages
Enter the read/write url for your repository
(For example, 'git@github.com:your_username/your_username.github.com):

自分のGitHub Pagesを入力しましょう。

6.GitHub > Settings > SSH Keys に公開鍵を登録する
まずは下記コマンドで秘密鍵、公開鍵を作成します。

1
$ ssh-keygen

~/.ssh配下にid_rsa.pubid_rsaが作成されているので、id_rsa.pubを開いて中身をコピーします。
それを GitHub > Settings > SSH Keys で New SSH Key を選択して、登録します。

これで、

1
2
$ ssh -T git@github.com
Hi username! You've successfully authenticated...

という結果が得られます。

7.強制プッシュを設定する
rake deployすると下記エラーが出てしまうようになり、かなり悩みました…

1
2
3
4
5
6
7
8
## Pushing generated _deploy website
To https://github.com/XXX/XXX.github.io
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/XXX/XXX.github.io'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Conflictが起こっているわけではないのに…
悩んだ挙句、その場しのぎで強制プッシュを設定するようにしました。
設定はRakefileを変更することで可能です。
これまで下記の設定がなされていたので、

1
system "git push origin #{deploy_branch}"

これを下記に変えます。

1
system "git push origin +#{deploy_branch}"

これでプッシュができるようになり、rake deployが成功したので、ブログも無事に更新できました。
このままで良いとは思えないものの、他に解決方法わからず…一旦これで良いかな笑

といったところで本日はここまで。

参考ページ

Comments