目前的方案是使用360云盘进行obsidian的文件同步,但是没有同步git的配置,因为同步git配置会有同步异常的问题。目前的问题是在多个客户端,obsidian新增的文件都已经同步了,但是git记录的变动没有同步,因此需要git pull然后进行merge。本次记录如何merge以及异常情况如何处理。

1. 丢弃本地的所有更改并重置到远程

要将本地分支强制重置为远程分支的状态,你可以使用以下命令:

1
2
git fetch origin   
git reset --hard origin/master
  • git fetch origin:从远程仓库获取最新的更新。
  • git reset --hard origin/branch-name:强制重置当前分支到指定的远程分支,使所有本地文件与远程分支的状态完全一致。请将 branch-name 替换为你的实际分支名,比如 main 或 master

2. 处理未跟踪的文件

如果你的工作目录中有未跟踪的文件(即新建但未添加到版本控制的文件),使用 reset --hard 不会删除这些文件。要同时删除这些未跟踪的文件,你需要在执行上面的命令之前添加以下命令:

1
git clean -fd
  • git clean -fd:这个命令会删除未跟踪的文件和目录。

总结命令

完整的命令组合如下:

1
2
3
git fetch origin   
git reset --hard origin/master
git clean -fd

注意事项

使用 git reset --hard 和 git clean -fd 会丢失所有未保存的本地更改和未跟踪的文件。请确保你确实不需要这些更改或文件。