关于百度云等网盘不能同步.git文件夹的解决方法

同步Git到百度云
本文介绍了一种将本地Git仓库同步至百度云的方法。通过创建裸仓库并利用工作目录进行克隆、提交和推送等操作,实现了版本控制与云端同步的目的。

起因是想要把git仓库同步到百度云上,发现.git文件夹不能上传,取消了.git文件夹的隐藏属性,依然无法同步。

这里提供一个解决该方法的思路,供大家参考。


首先,在百度云设定的文件夹下新建一个文件夹“REPO“,然后进入该文件夹,”git init --bare"在该文件夹下初始化repo,记得一定要--bare,这是就会创建一个所谓的裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)。该REPO文件夹是作为远端仓库来使用的,只记录历史信息。操作如下图所示。


此时,REPO文件夹下的情况如下图所示,REPO里的文件就是.git文件夹内的文件阿!!



之后,回到百度云文件夹下,再新建一个目录working作为工作目录,进入working之后,“git clone ../REPO/",没错,就是从REPO文件夹clone到working文件夹下,这时候working文件夹下回出现REPO文件夹,进入working/REPO文件夹,此时会发现这里和平时直接git init的情况是一样的,包含了.git 隐藏文件。由于此时还没有文件加入,所以只有.git。操作见下图。


这时候,我们再去working/REPO文件夹下去看看,如下图所示,看出门路来了吧,working文件夹相当于从REPO clone下来了版本信息,也就是working/REPO是工作目录,REPO是远端仓库,在working/REPO下的任何git操作,都可以通过git push到远端的REPO,而远端的REPO是可以上传同步的!!!



到这一步也就差不多了,你就可以在working/REPO下随意添加文件,然后进行git操作,只要你最后git push上去,哈哈,那就会把版本信息保存在刚开始的那个REPO文件夹下了。

所以,如果你换了台电脑。没问题,还是进入working/REPO文件夹,然后先"git fetch origin"把版本信息重新fetch到工作目录下(之所以要这一步,是因为新电脑的working/REPO/.git并没有同步,所以你可以依赖于git fetch来进行同步)

这就是该方法的关键所在,利用远端的裸仓库不含.git,所以能够同步到百度云,同时又通过重新的fetch,从裸仓库(已同步)重新把最新的版本信息下下来,完成了同步云的git同步问题。

✅ **方法二:使用云盘同步 `dict.db`(简单易用)** 这是一个**跨平台、操作简单、适合非技术用户**的同步方式。你可以将 Linux 上的 `dict.db` 文件放入云盘同步目录(如 Dropbox、坚果云、OneDrive、百度网盘同步工具等),这样该文件就会自动同步到 Windows 系统上,Windows 上的 SQLiteStudio 可以直接打开同步后的数据库文件,实现跨平台同步。 --- ## 🔧 实现步骤详解 ### ✅ 步骤 1:选择一个支持 Linux 和 Windows 的云盘工具 推荐以下几种: | 云盘 | Linux 支持 | Windows 支持 | 特点 | |------|------------|----------------|------| | Dropbox | ✅ 官方客户端 | ✅ 官方客户端 | 国外,速度快,免费 2GB | | 坚果云 | ✅ 支持 Linux 客户端 | ✅ 官方客户端 | 国内同步快,有免费版 | | OneDrive | ✅ 支持 Linux 客户端(如 `onedrive` 或 `rclone`) | ✅ 官方客户端 | 微软官方,适合办公 | | 百度网盘同步工具 | ❌ 无官方 Linux 客户端 | ✅ 官方客户端 | 不推荐用于同步开发文件 | | Google Drive | ✅ 使用第三方工具如 `rclone` | ✅ 官方客户端 | 需要技巧同步 | > **推荐使用 Dropbox 或坚果云**,配置简单,同步速度快。 --- ### ✅ 步骤 2:在 Linux 上安装云盘客户端(以坚果云为例) #### 1. 下载坚果云 Linux 客户端(通常为 `.deb` 或 `.tar.gz`) 前往官网:https://www.jianguoyun.com/sync #### 2. 安装 `.deb` 包(假设你下载的是 `nutstore-1.0.0.deb`): ```bash sudo dpkg -i nutstore-1.0.0.deb sudo apt install -f # 安装依赖 ``` #### 3. 启动坚果云客户端: ```bash nutstore ``` 登录你的账号后,坚果云会自动创建同步文件夹,例如: ``` ~/Nutstore ``` --- ### ✅ 步骤 3:将 `dict.db` 移动到同步目录 将你的数据库文件移动到同步目录中,例如: ```bash mv ~/online_dict_project/dict.db ~/Nutstore/ ``` 这样,该文件就会自动同步到云端,并推送到你 Windows 上的坚果云客户端。 --- ### ✅ 步骤 4:在 Windows 上使用 SQLiteStudio 打开同步的 `dict.db` 1. 打开 Windows 上的云盘同步目录(例如 `C:\Users\YourName\Nutstore`)。 2. 找到同步后的 `dict.db` 文件。 3. 使用 SQLiteStudio 打开该文件即可查看和编辑。 --- ## ⚠️ 注意事项 - **SQLite 不支持多客户端并发写入**,如果你在 Linux 和 Windows 上同时修改 `dict.db`,可能会导致数据库损坏。 - **建议只在一方进行写操作,另一方只读查看**。 - 如果你需要频繁修改,建议: - 写操作统一在 Linux 上完成,Windows 只读查看。 - 或者使用版本控制工具(如 Git)进行版本管理。 --- ## ✅ 进阶建议:使用 Git 管理数据库版本(可选) 如果你希望更精细地控制数据库变更,可以考虑: 1. 将 `dict.db` 加入 Git 仓库。 2. 每次修改后提交一次版本。 3. 在 Windows 上拉取最新版本。 虽然 SQLite 数据库是二进制文件,Git 不容易做 diff,但可以记录版本历史。 --- ## ✅ 总结 | 步骤 | 操作 | 工具 | |------|------|------| | 1. | 安装云盘客户端(如坚果云) | Linux | | 2. | 将 `dict.db` 移动到同步目录 | Linux | | 3. | Windows 自动同步文件 | 云盘客户端 | | 4. | Windows 上用 SQLiteStudio 打开文件 | SQLiteStudio | | 5. | 注意避免并发写入 | 手动控制 | --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值