【问题标题】:how to setup a OneDrive folder as a git repo?如何将 OneDrive 文件夹设置为 git repo?
【发布时间】:2020-07-02 15:13:32
【问题描述】:

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

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 status 并看到一堆未暂存的文件,正如预期的那样。我将它们与

git add .

然后我提交文件:

git commit -m "first commit"

然后推送文件:

git push -u origin master

但得到错误:

致命的: https://onedrive.live.com/?id=CC97284F14BADC27%211034824/info/refs不是 有效:这是一个 git 存储库吗?

我错过了什么?

【问题讨论】:

  • 我放弃了使用 OneDrive 作为 git 的源代码控制仓库。改用 BitBucket。尝试推送到那里会出现一个新错误“错误:未能将一些参考推送到'tekknow@bitbucket.org/tekknow/medaverter.git'提示:更新被拒绝,因为远程包含您所做的工作提示:本地没有。这通常是由另一个存储库推送引起的提示:到同一个参考。您可能希望在再次推送之前先集成远程更改提示:(例如,'git pull ...')。提示:请参阅'git push-中的'关于快进的说明'帮助'了解详情。”
  • 所以我先拉然后再推,但得到了同样的错误
  • 最终通过添加 --force 选项使其工作,如 git push -u --force origin master

标签: php git github onedrive


【解决方案1】:

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

如果您想将 OneDrive 与 WebDAV 结合使用,您需要某种方式将初始存储库结构上传到服务器,这可能涉及使用标准 WebDAV 客户端上传使用git init --bare 创建的目录。

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

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

【讨论】:

猜你喜欢
  • 2016-08-01
  • 2023-03-29
  • 2013-05-11
  • 2011-06-20
  • 1970-01-01
  • 2012-11-08
  • 2019-07-21
  • 2014-12-21
  • 1970-01-01
相关资源
最近更新 更多