diff --git a/sources/clippings, s/informatique, s/obsidian/Sync obsidian with git on iOS using iSH - Obsidian Forum.md b/sources/clippings, s/informatique, s/obsidian/Sync obsidian with git on iOS using iSH - Obsidian Forum.md new file mode 100644 index 00000000..d07bc72a --- /dev/null +++ b/sources/clippings, s/informatique, s/obsidian/Sync obsidian with git on iOS using iSH - Obsidian Forum.md @@ -0,0 +1,98 @@ +--- +link: https://forum.obsidian.md/t/mobile-sync-with-git-on-ios-for-free-using-ish/20861 +author: + - "[[Obsidian Forum]]" +published: 2021-07-14 +created: 2025-05-08 +tags: + - t/clippings + - s/obsidian + - s/informatique +--- +There’s already a post about syncing with WorkingCopy ([\[Mobile\] Setting up iOS git-based syncing with mobile app (using Working Copy)](https://forum.obsidian.md/t/mobile-setting-up-ios-git-based-syncing-with-mobile-app-using-working-copy/16499)). However, the ability to push is paid, and it costs a lot, but without this there can be no sync! + +I propose to use [iSH](https://ish.app/) to sync Obsidian with git. + +- p Pros: + - It’s free! + - It lets you use *fully-featured git* - the same git that runs on Alpine Linux +- c Cons: + - It requires using the Linux command-line + - There appears to be a *bug* in Obsidian 1.0.3 that doesn’t show new files in the file explorer after you pull them from GitHub. This can be easily circumvented by sorting the notes + +# Tutorial + +Also see [the example repository](https://github.com/ForceBru/ObsidianVaultTest) I created to showcase this method. + +Also see “Simpler way” below. + +Assuming you have an *existing* repo on GitHub. You can also create the repo right from iSH - the `git` command you’ll be using is the exact same fully-featured `git` from Alpine Linux. + +1. Create a new empty *local* vault in Obsidian +2. In iSH: + 1. *First-time setup* - install git: + 2. Update Alpine repos: `apk update` + 3. Install git: `apk add git` + 4. Create a directory called `obsidian` in your home directory by running `cd ~ && mkdir obsidian`. + 5. Mount your local vault folder into the `obsidian` folder + 6. Run `mount -t ios . obsidian` + 7. A file picker will show up + 8. Choose the folder with your local vault + 9. Clone your git repository into `obsidian` + 10. Change directory to `obsidian`: `cd obsidian` + 11. Delete the `.obsidian` folder: `rm -rf .obsidian` + 12. `git clone https://github.com/ForceBru/ObsidianVaultTest .` - use your own repository instead. Don’t forget the period `.` - this is what allows you to clone the repo *into the current folder*. + 13. (Optional) Run `ls -a` to see whether your files are there +3. In Obsidian + 1. Restart Obsidian (might not be necessary) + 2. Open the file explorer + 3. Currently (Obsidian 1.0.3) it’s empty (looks like a bug) + 4. Tap the “Sort” button (the rightmost one, with up/down arrows) + 5. Select any sorting order you like + 6. The files should appear + 7. Use your Obsidian vault! +4. To **push** your changes, go back to iSH + 1. Change directory to `obsidian` in your home directory: `cd ~/obsidian` + 2. Run `git status` to confirm that there *are* modified files + 3. *First-time setup* - tell git who you are: + 4. Set username: `git config user.name ForceBruMobile` + 5. Set e-mail address: `git config user.email "ForceBru@users.noreply.github.com"` + 6. Add files, commit and push. For example: + 7. Add *all* files into the commit: `git add .` + 8. Commit: `git commit -m "Commit from mobile"` + 9. Push: `git push` + 10. This will ask you to enter your username and password + 11. Git can use your personal access token to login automatically + 12. That’s it! Take a look at [this example commit from iSH](https://github.com/ForceBru/ObsidianVaultTest/commit/f642c3334a870ca8ab2aa1355528403502433b2b) +5. To **pull** changes from GitHub: + 1. In iSH: + 1. Change directory to `obsidian` in your home directory: `cd ~/obsidian` + 2. (Optional) Check whether there is stuff to pull + 3. Bring remote refs up to date: `git remote update` + 4. Check status: `git status` + 5. It should say something like `Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded` if there is something to be updated + 6. Actually update from the remote repo: `git pull` + 2. In Obsidian: + 1. Go to file explorer + 2. If you don’t see your new notes, do the sort trick again: + 3. Tap the “Sort” button (the rightmost one, with up/down arrows) + 4. Select any sorting order you like + 5. The files should appear + 3. Updates to *existing* notes seem to be reflected correctly + + +# Simpler way + +Mount *the entire* Obsidian folder which contains *all* your vaults (as opposed to mounting just the vault). + +In iSH: +1. Make directory to store Obsidian vaults: `cd ~ && mkdir obsidian` +2. Mount the file provider: `mount -t iOS . obsidian` +3. Choose `On My iDevice` and *select and open the `Obsidian` folder* +4. Change directory to `obsidian`: `cd obsidian` +5. Clone the repo with your vault *right there*: `git clone https://github.com/ForceBru/ObsidianVaultTest` +6. This will create a folder called `ObsidianVaultTest` that will be a git repo and that Obsidian will recognize as a vault + +Then open the vault in Obsidian (might need to restart it), edit stuff, then push/pull changes as described in steps 3 and 4 in the original post. + +To avoid entering login/password all the time, cache or store your credentials: [Git - Credential Storage](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)