步骤 1:在PC端设置Obsidian
-
安装Obsidian和Git :确保你的PC上已经安装了Obsidian和Git。你可以从Obsidian官网和Git官网下载并安装。
-
克隆GitHub代码库:在PC上打开命令行(例如Windows的命令提示符或Mac/Linux的终端),然后运行以下命令将GitHub仓库克隆到本地:
git clone https://github.com/your-username/your-repository.git
替换
your-username
和your-repository
为你的GitHub用户名和仓库名。 -
在Obsidian中打开本地库:在Obsidian中选择"Open folder as vault"选项,然后选择你刚刚克隆的代码库所在的文件夹。
-
设置自动同步(可选):可以使用第三方同步工具(例如Git插件)来实现自动同步你的本地库与GitHub仓库。
步骤 2:在手机端设置Obsidian
方法1:使用Obsidian Git插件
-
安装Termux:
-
在你的Android手机上,打开Google Play Store,搜索并安装Termux。
-
打开Termux,输入以下命令以安装Git:
pkg update
pkg install git -
2.克隆GitHub仓库:
1)打开刚刚安装的Termux,输入下面的命令请求获取存储访问权限,此时弹窗一个请求访问存储权限的弹窗,找到Termux 应用,打开访问权限
termux-setup-storage
2)进入手机内部的存储目录,比如
cd /sdcard/Documents
或者自己新建一个Obsidian目录,再执行 cd /sdcard/Documents
-
最后再克隆PC端在使用的同一个github代码库
git clone https://github.com/your-username/your-repository.git
注意:这里使用https的方式将代码库克隆到本地。因为笔者起初使用的是ssh 方式克隆到的本地,结果发现配置好obsidian git插件,自动推送和拉取代码后,报错UnknowTransportError: uses an unrecognized transport protocol: ssh。查了半天,发现目前手机端obsidian git插件对于不支持ssh
来源:https://github.com/Vinzent03/obsidian-git#restrictions-of-the-mobile-version
在使用https拉取代码的时候会让输入用户名和密码,用户名是登录时的邮箱, 密码需要提前在github 主页的个人设置页面进行配置生成一个Personal Access Token,具体步骤如下:
登录GitHub:
- 访问GitHub并登录你的账户。
访问Token生成页面:
- 点击右上角的个人头像,选择
Settings
。- 在左侧菜单中找到
Developer settings
,点击进入。- 选择
Personal access tokens
,然后点击Tokens (classic)
。- 点击
Generate new token
按钮,选择Generate new token (classic)
。配置Token权限:
- Note:为你的Token添加一个描述性名称(例如:"Termux GitHub Access")。
- Expiration:选择Token的过期时间(可以选择不设置过期时间,但建议定期更新)。
- Scopes :选择合适的权限,例如:
repo
:访问和管理你的公共和私人仓库。workflow
:访问和管理GitHub Actions工作流。admin:repo_hook
:管理仓库的webhook和服务。gist
:访问和管理Gist。生成Token:
- 点击
Generate token
。- 保存你的Token:一旦生成,请立即将Token复制并妥善保存(例如保存在一个密码管理器中)。注意:这是你唯一一次可以查看完整的Token,页面刷新后将无法再次查看。
为了避免每次操作时重复输入用户名和Token,可以配置Git记住你的凭据。
使用Git Credential Helper
Git提供了凭据助手(Credential Helper),用于保存和缓存GitHub的凭据。
在Termux中执行以下命令:
git config --global credential.helper store
或者使用缓存助手(会在特定时间内缓存凭据):
git config --global credential.helper cache
设置完成后,首次使用时会要求输入凭据,并自动保存到本地。下次操作时无需再次输入。
安全存储Token(推荐)
你可以选择将Token安全存储在密码管理器或加密的凭据文件中,具体方法如下:
git config --global credential.helper 'cache --timeout=3600'
- 上述命令配置了Git在1小时(3600秒)内缓存凭据。
如果希望更改存储的凭据,可以手动编辑Git凭据文件:
nano ~/.git-credentials
在文件中输入以下格式的信息:
https://your-username:your-personal-access-token@github.com
例如:
https://john_doe:ghp_abcdef1234567890abcdef1234567890abcdef12@github.com
配置Git默认用户名和邮箱
确保Git正确设置了你的全局用户名和邮箱,以便正确地标识提交者身份:
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
完整过程示例:
# 打开Termux
termux-setup-storage
# 更新包管理器
pkg update && pkg upgrade
# 安装Git
pkg install git
# 生成Personal Access Token并保存到密码管理器中
# 克隆GitHub仓库
git clone https://github.com/john_doe/my-repo.git
# 进入仓库目录
cd my-repo
# 配置Git用户名和邮箱
git config --global user.name "John Doe"
git config --global user.email "john.doe@example.com"
# 创建一个新的文件
echo "Hello, GitHub!" > newfile.md
# 添加文件到暂存区
git add newfile.md
# 提交更改
git commit -m "Add newfile.md"
# 推送到远程仓库
git push origin main
# 输入GitHub用户名和Personal Access Token进行身份验证
# 可以配置Git保存凭据以避免每次都输入
最后面的git add 、git commit 、git push可以不用,我们使用obsidian中的git插件实现自动推送
3.手机端在Obsidian中打开仓库:
- 打开Obsidian,选择
Open folder as vault
。 - 导航到
/sdcard/Documents/your-repository
文件夹。
4.手机端配置自动推送修改到远程
1)安装obsidian-git插件,配置方式和PC端基本一致,需要注意的是
Obsidian Git插件最后面的 Authentication/Commit Author也得需要配置
Personal access token填写上以后是不会显示的。
配置完以后就和PC端一样可以通过obsdian控制github仓库了