小説のgit管理 iPhone用メモ
家のサーバーにgitのリモートリポジトリを置いて小説をgit管理しています。
リポジトリは自宅鯖(123.456.789.01)の/home/owner/novel/mynovel.gitにあると想定して記述します。
(もちろんGitHubで非公開のリポジトリを作成してOK、ただしGithubは性的な内容は置けないので注意)
iPhoneで編集したりするので設定メモです。
AndroidでもTermuxなどのLinuxエミュを使えば同様に行えます。(Turmuxの場合aptコマンド、ストレージはtermux-setup-storageコマンドで連携)
iOSでのgit管理
iSH導入
iPhoneにLinuxエミュのiSHをインストールします。
ssh接続
iSHはAlpine Linuxなのでapkコマンドでopensshを追加、さらに~/sshフォルダと空の~/ssh/configファイルを作成
apk update
apk add openssh
mkdir ssh
echo -n > ssh/configiPhoneのファイルブラウザでiSH→rootフォルダ→sshフォルダへ移動

先に自宅サーバのssh接続の秘密鍵ファイル(ここではid_mypc)をicloud経由などで端末にコピーしておき、iSH/root/sshフォルダ内に放り込んでおく
さらに端末上のファイルが変更できるタイプのテキストエディタでiSH/root/ssh/configファイルを編集し、ホスト名:mypcで簡単に接続できるよう設定
(apk add vimなどでvimやnanoを入れてiSH上から編集してもOK)
Host mypc
HostName 123.456.789.01 # 自鯖のipアドレス
Port 22 # 自鯖のsshポート
User owner # 自鯖のユーザ名
IdentityFile ~/.ssh/id_mypc # 秘密鍵ファイルの場所ここまで設定したらsshフォルダを.sshへリネーム(ファイルブラウザからは隠しファイルへアクセスできないため)
mv ssh/ .ssh/ファイルの権限を変更
chmod 600 ~/.ssh/config ~/.ssh/id_mypcここまで出来たら下記コマンドでssh接続が出来るかテスト
ssh mypcfingerprintを聞かれたらyesにして接続テスト完了 exitコマンドで終了する
git導入
gitのインストールと初期設定を行います。
apk add git
git config --global user.name "名前"
git config --global user.email "メアド"ssh接続でリポジトリからgit cloneします。
git clone ssh://mypc/home/owner/novel/mynovel.gitこれで小説の取り込みとファイルブラウザからiSH/root/mynovel/フォルダ以下で小説が編集できるようになりました。
pull,commit→pushを簡略化する
次にgit pullしたり小説を編集したあとコミット&pushするのが手間なのでコマンド化します。
~/pull.shと~/push.shファイルを新規作成します
echo -n > pull.sh
echo -n > push.shiOSのテキストエディタかvimなどで編集します
#!/bin/sh
cd /root/mynovel
git pull
cd ../#!/bin/sh
cd /root/mynovel
git add -A
git commit -m "iOS"
git push
cd ../権限を付与
chmod +x pull.sh push.sh上記でコミットコメント「iOS」で毎回コミットする設定になります。
これらをコマンド化します。iSHで下記コマンドを実行
echo 'alias pull="$HOME/pull.sh"' >> ~/.profile
echo 'alias push="$HOME/push.sh"' >> ~/.profile
. ~/.profileこれでPCで小説を編集した後はiSH上でpullと打つとgit pull出来て端末上に最新ファイルを同期でき、iPhoneで小説を編集した後iSH上でpushコマンドを打つだけでリモートリポジトリへコミット&pushができるようになります。
・PCなどで小説を編集しpushしたあと→iSHでpull
・iPhoneで小説を編集したあと→iSHでpush
お疲れさまでした!
競合が発生したときはgit diff --name-only --diff-filter=Uとかで手動解決してるかも
iPhoneでの小説執筆テキストエディタ
git管理するにはファイルブラウザでiSH上のファイルを編集できないといけないので、いくつか挙げておきます。
koder 無料コード用簡易エディタ。行番号さえ消せたらこれで書きたかったかも
LiquidLogic コードエディタの中では使いやすい部類の印象
Runestone コードエディタ。テーマが変えやすいかも
iA Writer 3000円買い切りアプリですが、今のところ無駄なアイコンなどがなく一番集中して使いやすいのでこれを使用しています。小説を.mdファイル(マーウダウン形式)として作成しておくと見出しもつけられて便利です。最初に設定→エディタ→インデントで「折り返しインデントに含む:ホワイトスペース」をオフにしておかないと段落の字下げが変になるのでここ設定おすすめ。

