概要

ObsidianをGit管理していると、クライアント間で競合することがある。 普段はそうならないように起動時にPullする設定を入れているがそれでも競合が起きるときはある。 PCだとGitコマンドでresetなりstashなりすればいいのだが、Obsidian Gitだと限界がある。 そこで、Termuxで強制リセットする方法を調べた。

環境

  • Lenovo Idea Tab Pro
  • Lenovo ZUI 17 (Android 15相当)

方法

1. Termuxをインストール

Androidでターミナルが使えるようになるアプリをダウンロードする。

https://play.google.com/store/apps/details?id=com.termux&hl=ja

2. Termuxにファイルのアクセス権限を追加

自環境だと権限追加しないとAndroid内のファイルにアクセスできなかったので追加した。

https://support.google.com/googleplay/android-developer/answer/10467955?hl=ja#zippy=

  1. 「設定」アプリで「特別なアプリ」などで検索する
  2. Termuxを追加する

3. Obsidianのディレクトリにアクセス

これで、アクセスできるようになったのでObsidianのディレクトリに移動する。 おそらく通常は以下のディレクトリ以下のどこかに配置されているはず。

/storage/emulated/0

4. Gitをインストール

パッケージマネージャーを使ってGitをインストールする。

pkg update && pkg upgrade
pkg install git

5. 強制リセット

originの内容に強制リセットする。 ここで、PWを聞かれるのでObsidian同様にPATの内容を貼り付ける。

git fetch origin
git reset --hard origin/main

不要な変更を全て削除する。

git clean -fd