我想知道它是否可以按照我想象的方式完成。
我已经对 Obsidian 中的 26 个
[A-Z]
(子)保险库进行了设置更改。如果我想撤消这些,我需要在 iOS 快捷方式中写入 26 次 3-4 个文件,但是让快捷方式递归搜索和替换数据(使用 A-Shell)将需要时间在一个包含许多文件夹的大型保险库上有自己的设置。
我想记下提交的提交 ID,并使用 iOS 快捷方式在状态之间实际切换以应用任何一组设置。
在 StackOverflow 上查找答案后,我看到了
cherry-pick
命令作为替代方法。好吧,问题:
revert
;git revert <commit-with-hash-ID>
(在对 repo/vault 进行符号链接之后),当然,还有合并冲突需要处理(需要对特定行进行更改才能撤消,然后才能工作);这是一个更好的主意。利用
git stash
。您可以使用 git stash
维护两个或多个不同的覆盖层以配置文件中的数据,您可以根据需要丢弃这些数据并按需调用。
如果您要进行真正的更改并希望存储在相同的文件中,那么您将不得不使用
git-add -p
进行交互式补丁样式选择,以选择要添加到提交索引的部分。这是覆盖配置文件中数据以进行测试的常用做法,您需要不断回忆,我一直这样做。例如,我的日志级别应该以一种方式设置为生产,但为了开发,我一直想提高它们我不想每次都编辑文件......我只是说git stash apply mylog
(用git stash save mylog
保存它们)
这不是 git cherry-pick 和 revert 的目的。如果您想提交历史记录,撤消提交或从另一个分支提交提交,它们真的是为了提交。
UpAndAdam的idea确实是idea。但是
git stash
并不完全用于这些“工作流程”,因为不能将临时“覆盖层”放在一边。没有命令可以这样做。我无意从隐藏的文件中创建分支,也不想手动选择应该提交+推送到远程的内容。
我所做的是使用非常简单的正则表达式运行两个
checkout
命令(在 NewTerm2 中,因为 A-Shell 与 Libgit2 没有让步):git checkout -- [A-Z]/.obsidian/appearance.json
git checkout -- [A-Z]/.obsidian/plugins/obsidian-style-settings/data.json
这处理了我的“临时”52 个文件,这些文件现在已从工作区中撤回,我已准备好提交并推送我的更改。
整个事情(解决方案?)确实非常笨拙,尤其是因为我需要一个一键式解决方案(所以下一步是学习如何使用本地 SSH 实现自动化)。
如果有人想知道,我试图找到一个解决方案来解决无法在 Obsidian 中或使用 URL 方案(无论是使用 Obsidian Advanced URI 插件)完成的事情:在特定主题设置中进行更改。
我有更多的改变,但还是接受了这些,因为它们很容易用这样的 2 个命令来处理。