本文对这个教程做一个补充.
挂载 Vault 到 iSH
创建挂载点:1
mkdir -p /mnt/YourVaultName
交互式挂载:1
mount -t ios /mnt/YourVaultName
选择 Vault 目录后验证:1
2cat /proc/mounts | grep /mnt/YourVaultName
ls -la /mnt/YourVaultName
常见问题:目录空 → 选错 / iCloud 未下载(在 Files 里先点开文件);重试:1
2umount /mnt/YourVaultName
mount -t ios /mnt/YourVaultName
卸载:1
umount /mnt/YourVaultName
GitHub Personal Access Token(PAT)
生成(classic 推荐调试):repo 全选 → 得到形如 ghp_xxx 的 40 字符 Token。
首次拉取交互输入 Token:1
2
3git pull origin main # 或 master
# Username: <GitHub用户名>
# Password: <粘贴 Token>
排查认证失败:1
2
3
4echo -n 'TOKEN' | wc -c # 长度
echo -n 'TOKEN' | od -c # 是否多余空格
curl -I https://github.com/<username>/<repo>.git # 仓库可访问性
curl -H "Authorization: Bearer <TOKEN>" https://api.github.com/user
临时把 Token 塞进 URL(调试用,完成后改回):1
2
3git remote set-url origin https://<username>:<TOKEN>@github.com/<username>/<repo>.git
git pull origin main
git remote set-url origin https://github.com/<username>/<repo>.git
可选持久化(明文风险):1
2
3
4
5
6
7
8git config --global credential.helper store
# 或 ~/.netrc
cat > ~/.netrc <<'EOF'
machine github.com
login <username>
password <TOKEN>
EOF
chmod 600 ~/.netrc
注意:Password 就是 Token,不要输 GitHub 登录密码。
首次拉取未跟踪文件冲突
Obsidian Git典型报错:1
Aborted. No upstream-branch is set!
原因:远程已跟踪,本地存在同名未跟踪文件。处理方案:
| 方案 | 说明 | 命令 |
|---|---|---|
| A | 丢弃本地配置,用远程 | rm -rf .obsidian && git pull |
| B | 备份本地后再拉取 | mv .obsidian /tmp/obsidian_backup && git pull |
| C | 先提交本地再合并 | git add .obsidian && git commit -m "local"; git pull --allow-unrelated-histories |
| D | 重新 clone | mv vault vault_backup; git clone <remote> vault |
是否跟踪 .obsidian:
不想共享配置 → 移除并忽略:1
2
3
4
5git rm -r --cached .obsidian
echo ".obsidian/" >> .gitignore
git add .gitignore
git commit -m "Stop tracking Obsidian config"
git push
解决方案: 分支命名统一(master ↔ main)
远程与本地名称不一致会导致脚本混淆。常用操作:
本地改成远程的 master:1
2git branch -m main master
git push -u origin master
用 main 替换远程 master:1
2
3git push -u origin main
# 在 GitHub 仓库设置中修改默认分支为 main
git push origin --delete master # 可选
查看远程分支:1
git ls-remote origin | grep refs/heads/