Github

git-cryptを導入したときの備忘録

私の場合は、あくまで個人ユースなのでチームでリポジトリを管理したり共有するというニーズはない。githubはdotfilesの保存場所としていつでもリストアできるようにという目的で使っている。

自宅で固定で使うメイン機から git pushし、外出で持ち歩くためのサブ機は git pullしてメイン機のクローンとして使うというような運用である。以下に記録した方法は邪道的ではあるけれども当面は許容願いたい。私自身のスキルが成長してもっと安全でまともな手法が見つかれば改善していくつもりだ。

Git と Dropbox の連携

重要なファイル群をDropboxに配置し複数端末で共有している。Dropbox だけでも多少の履歴は辿れるけれど、さらに保険をかける意味でGitHubにもリポジトリを作ってみようと思った。

Dropbox内にgitツリーを置くとややこしくなろそうなのでDropbox外の別デレクトリにtreeをおくというTipsを見つけて真似してみた。

$ cd ~/Dropbox/project

$ git init --separate-git-dir /path/to/project.git
Initialized empty Git repository in /path/to/project.git/

上記を実行すると、Dropboxデレクトリにあった .git デレクトリは、/path/to/project.git に移動し、もとのデレクトリには、以下の内容の .git というファイルが生成される。内容はリンク先を書いただけのテキストファイルなのだが、Dropboxデレクトリでは普通に magit-statusできる。

gitdir: /path/to/project.git

リストアするとき

もし、将来ローカルリポジトリのPCをクリーン再インスールするケースを想定してテスト用のリポジトリで試してみた。

mkdir /path/to && cd /path/to してgit clone priject.gitする。 データリポジトリは、Dropboxをインストールして同期すれば、自動的にリストアできるので、.gitデレクトリのみ残してデータは削除して良い。

GitHub Pagesにサイトを開設

Emacsの設定に関する情報を備忘録としてまとめたので GitHub Pagesに置くことにした。

GitHub Pagesの場合は Jekyllプロジェクトを pushするだけで HTMLに変換してくれるらしい…ということなので試してみたらすんなり成功した。

Alt Text

jekyllには、sphinx_rtd_theme に似た jekyll-rtd-theme があるのでこれを採用した。

Deplpy環境

この themeは特殊なのか、設定がまちがっているのかよくわからなかったが、ローカルでのプレビューはエラーが出てうまく行かなかった。

結局、git pushするだけになったので deploy.shmakefile を書いて自動化しました。deployに成功すると自動的にプラウザーで GitHub Pqgesを開くというものです。markdownファイルの編集が終わったら make k するだけで自動処理します。

deploy.sh

#!/bin/bash
git checkout master
git add -A
git commit -m "Update blog"
git push origin master

makefile

a.out: github

github:
	~/src/github.com/minorugh/minorugh.github.io/deploy.sh
	chromium https://minorugh.github.io