前回はwebサーバーを立てるところまでやってみました。

サイトのデータがリモートリポジトリのmasterブランチにマージされたらNext.jsアプリをビルドして公開ディレクトリに同期というのをGitHub Actionsでやってる方を見てそれやりたいな~~と思いました。ただGitHubは性的な内容は駄目で同人サイトには向かないので、その辺の絡みでさくらVPSで同様の機能をやりたい感じです。

今回は仮想サーバー上にリモートリポジトリを作成してWindows側のVScodeからSSH接続でpushできるようにします。さらにリモートリポジトリにpushされたらGit HookでNext.jsアプリをビルドしてrsyncで公開フォルダに同期します。

何言ってるのかよくわかんないですが「サイトの更新準備が出来たらボタンポチーでサーバー上のデータが更新できて、弄った部分の変更履歴も取れる」みたいな感じ

続きを読む

こんにちは。たまに思い立ったように二次創作小説を書いているのくです。

クラウドで.txtデータをやりとりしつつ、AndroidのJota+、Windows10ではMery、Linuxの入ったノートとiPhoneではNolaでちまちま書いていました。……が、この間Nolaで書いたものをクラウド上のテキストファイルに上書きした所、Nolaの方で上手く同期ができておらず、しばらくポチポチして書いた部分がパーになってしまいました。泣いています。

Meryだと自動で複数バックアップを取ってくれたりもするけど、いちいちファイルを増やしてのバックアップを取るのも面倒……そういえばプログラマーみたいに小説をgit管理で書いている方がいた…!私もやろう、そうしよう!

そういうわけで、Visual Studio CodeをエディタとしてGit&Githubを使って差分管理しながら小説を書く方法まとめです。Windows/Mac/Linuxで利用できます。あと自己責任になりますがAndroidでも行う方法を後ろの方に書いています。iOSでも有料アプリ(Working Copy)でPush出来るようです。

そもそも何が出来るの?

小説を書いてコミットという操作をすると、gitというプログラムが変更履歴を作成してくれます。履歴が管理されるので、進捗管理や、消したり書き換えたところを戻したり再利用したい…という場合便利です。

また、例えばデスクトップとノートPCで別々の行を編集して保存した場合、なんとそれらの変更を合体(マージ)させることができます。ワオ…!

統合(マージ)のイメージ

同じ行が編集されていた場合は競合が発生しますが、履歴が残るのでどちらを残すかも決められます。

実際何をするの?

Visual Studio Codegitを公式サイトよりダウンロードしてインストールし、ブラウザからGitHubのサイトに登録して、それらを連携すると準備完了です。

実際に小説を書きながらやることを簡単にまとめると

  1. pullという操作でweb上から書きかけの小説データをダウンロード
  2. 小説の続きを書く
  3. コミットという操作で変更履歴を作成
  4. pushという操作で変更履歴と小説データをweb上にアップロード

を繰り返すイメージです。太字の操作はエディタにあるボタンを押すだけで進みます。小説は自分で書くしかないです。でも画像中のサンプル文章を書いたのはAIのべりすとくんなのでウナギに焼き印を押した戦犯は彼/彼女です。私は悪くない…

続きを読む