如何将 OneDrive 文件夹设置为 git 存储库?

how to setup a OneDrive folder as a git repo?

我在 OneDrive 上创建了一个名为我的文件>GitHub>MedAverter 的文件夹。我注意到它是 url:

https://onedrive.live.com/?id=CC97284F14BADC27%211034825&cid=CC97284F14BADC27

我下载了 GitHub Desktop 并将当前存储库设置为新创建的 MedAverter 文件夹。

我导航到 git bash 中的本地代码文件夹: /c/users/greg/LaravelProjects/MedAverter

我输入以下命令:

git remote set-url origin https://onedrive.live.com/?id=CC97284F14BADC27%211034824&cid=CC97284F14BADC27

为了检查它是否正确,我这样做:

git remote -v

这是输出:

origin  https://onedrive.live.com/?id=CC97284F14BADC27%211034824 (fetch)  
origin  https://onedrive.live.com/?id=CC97284F14BADC27%211034824 (push)

注意是不是比原来短了?

我做了一个 git 状态并看到一堆未暂存的文件,正如预期的那样。我用

来展示它们
git add .

然后我提交文件:

git commit -m "first commit"

然后推送文件:

git push -u origin master

但是报错:

fatal: https://onedrive.live.com/?id=CC97284F14BADC27%211034824/info/refs not valid: is this a git repository?

我错过了什么?

为了 Git 使用 HTTP 远程,它要么必须支持智能协议,这需要一个特殊的服务器端点,要么它必须支持 WebDAV,这通常被称为哑协议。此外,远程不能使用查询参数,因为 Git 不会处理它们。

如果您想将 OneDrive 与 WebDAV 一起使用,您将需要一些方法将初始存储库结构上传到服务器,这可能涉及使用标准 WebDAV 客户端上传使用 [=10= 创建的目录].

如前所述,您还需要一个不包含任何查询参数的 WebDAV URL;如果 OneDrive 无法提供,则您需要使用其他提供商。

请注意,您不应将 OneDrive 用作跨计算机 Git 存储库的同步工具,因为这样做会导致损坏。