ややこしいノートアプリを捨てよう!15行のMakefileとGitで自分のノートを管理する

なぜ 最近のFancyなノートアプリが複雑になりすぎて個人利用には不要な機能が溢れています。 その上、自分が書いたノートなのにローカルに保存されないため、サービス障害やインシデントが起きるとを閲覧できないリスクが高いです。 そのため、MakefileとGitだけで自分用簡易ノートを作りました。 詳細 この15行のMakefileがすべてです。↓ .PHONY: pull note journal pull: git checkout master && git pull origin master today=`date +%Y%m%d` year=`date +%Y` journal_path=./journal/${year}/${today}.md name=newname note: pull @mkdir -p notes && echo "# ${name}" >> notes/${today}_${name}.md && code notes/${today}_${name}.md journal: pull @mkdir -p "./journal/${year}"; if [ ! -f ${journal_path} ]; then echo "# ${today}" >> ${journal_path}; fi; code ${journal_path} ややこしいことはやっておらず、directory journal/とnotes/にmarkdownファイルを作ってvscodeで開いているだけです。 journal/ 日記を保存するディレクトリ 年別に分けるためにjournal/配下に更にサブディレクトリYYYY/を生成するように実装している make journalを実行するとjournal/YYYY/YYYYMMDD.mdが生成される 日付などは自動生成されるので自ら記入する必要なし note/ その他のノードを保存するディレクトリ こちらは年別にわけてない make note name="hogehoge"を実行するとnotes/YYYMMDD_hogehoge....

June 23, 2024 · Me

git switch, git restore, git grep, git blameを使ってみよう

https://git-scm.com/ 毎日息を吸うようにgitを使っているけど、gitのドキュメント見たことないなと思って実際に読んでみました。あまり使われていないが、便利そうなgitコマンドを見つけたので、共有します。 git switch git restore git grep git blame git log -p <filename> git commit --amend --no-edit git switch ブランチを切り替えるコマンドです。git checkoutでできるのに、なぜわざわざgit switchを使うのかって思っていましたが、この記事を読んで意図を理解しました。 https://www.banterly.net/2021/07/31/new-in-git-switch-and-restore/ 簡単に説明するとgit checkoutは git checkout <branch_name> ブランチ・コミットを切り替える git checkout -- <file_name> ファイルの変更を廃棄する(直近のcommitに戻す) 2つの機能を持っているので、少し紛らわしいですね。数年前初めてgitを勉強した頃、けっこうハマっていた記憶があります。 version 2.23にブランチ・コミットを切り替える機能のみ持っている機能git switchがリリースされました。 # git checkout your_branchと同じ git switch your_branch ただ、新しくブランチを切る際のオプションは-bではなく、-cになっています。 # git checkout -b your_branchと同じ git switch -c new_branch git restore git restoreは、ファイルの変更を廃棄して、直近のcommitに戻すというgit checkoutの残り半分の機能を持っています。 # git checkout -- file.txtと同じ git restore -- file.txt git checkoutをやめてgit switchとgit restoreを使ったほうがわかりやすいと思います。特に初心者の方はぜひ試してみてください。...

July 10, 2022 · Me