Octopressのアップデート
Octopressをアップデート 以来のアップデート。
色々変更を入れてるのでついでに。
前回無駄にrebaseしようとして大変になって 結局本家を取ってきてそこに今の自分のアップデートを追加、 みたいなことをしましたが、今回はもうちょっと簡単に。
GitHub pages + Octopressの導入 に書いたように
$ git branch -a
* source
remotes/bitbucket/source
...
remotes/octopress/HEAD -> octopress/master
remotes/octopress/master
...
な感じで普段使ってる所はbitbucket/source
になっています。
本家Octopressはoctopress
以下にあるので、
取り敢えずここのアップデートを取ってきます。
$ git fetch octopress
次にclassicテーマの中の変更を知りたいので
$ git diff source:.themes/classic/ octopress/master:.themes/classic > classic.diff
として差を取っておきます。
出来たらoctopress/master
をbitbucket/source
にmerge。
現在bitbucket/source
に居るとして
$ git merge octopress/master
でOK。 何も出なければ次へ行きますが、ここでRakefileやGemfileにはCONFLICTが出ることが多いです。
$ git merge octopress/master
Removing plugins/rubypants.rb
Auto-merging plugins/octopress_filters.rb
CONFLICT (content): Merge conflict in plugins/octopress_filters.rb
Auto-merging plugins/category_generator.rb
CONFLICT (content): Merge conflict in plugins/category_generator.rb
Auto-merging Rakefile
CONFLICT (content): Merge conflict in Rakefile
CONFLICT (modify/delete): Gemfile.lock deleted in octopress/master and modified in HEAD. Version HEAD of Gemfile.lock left in tree.
Auto-merging Gemfile
Automatic merge failed; fix conflicts and then commit the result.
出たのでmergetoolを使って CONFLICTを修正。
$ git mergetool
後は先ほど取ったclassic.diffの中を見て、 もし自分のsourceにあるファイルの中に必要そうな変更があれば それを追加。
更にその変更を必要であれば octogray の方へ反映。
今回はちらちらOctopressのPull Requestを見たりしながら 入っていった変更とかを手動で入れたりしてたので 特にclassicテーマから入れる必要な物はありませんでした。
もしclassicのテーマを完全に無視して良いなら
fetch
、merge
をせずに
いきなり
$ git pull octopress master
でもOKです。