【问题标题】:How do I stop OneDrive from downloading git.exe on Windows?如何阻止 OneDrive 在 Windows 上下载 git.exe?
【发布时间】:2020-03-18 15:12:26
【问题描述】:

我在 Windows 上使用 Git 有一段时间了,但最近更改了设置并得到了这个。

在 Git Bash 的几乎所有命令上(也在 PowerShell 和 Github Desktop 上)我得到了

git.exe is being downloaded on OneDrive

(翻译可能不完全相同)

最近更改的设置是将我的存储库移动到 OneDrive 文件夹,以便在两个会话之间同步它们:即工作桌面和远程虚拟机。

我可以看到这可能并不理想,但它确实对我有用,因为我在两个会话上都有相同的设置,而且还没有真正习惯于执行许多 commit-push-pull。这里不是主要话题,但请随时发表评论。

(编辑):在阅读解决方案后,还有其他方法可以设置不会与 Git 内部结构混淆的同步。而是寻找那个。谢谢。

无论如何,奇怪的是通知只发生在远程虚拟机上,而不是桌面上。

我在 repos 中看到了一些关于某些文件的通知,然后我将其归因于 OneDrive 对我移动的每个 移动 文件都很多管闲事。但后来我也看到了我不知道的文件,并且总是在通知中附加git.exe

在第一种情况下,我尝试调低 OneDrive 的通知。有人可能会说微软确实有不允许用户设置通知的背景,所以我还在寻找。

谢谢。

【问题讨论】:

  • 这是一个非常糟糕的主意™。如果你很快得到一个损坏的 repo,我不会感到惊讶。更不用说其他问题以及一直在同步结帐和内部 Git 文件所浪费的带宽。
  • 请详细说明负面反馈。

标签: windows git onedrive


【解决方案1】:

OneDrive 和 Dropbox 等大多数文件同步工具都是通过逐个文件同步数据来操作的。如果您正在处理单个文字处理文档或电子表格,这是一种很好的方法。但是,当您使用 Git 存储库时,它就不那么好了。

在分支之间进行更改或提交时,Git 会同时更改并创建大量文件。为了正确同步,所有创建的文件必须以类似的顺序写入:必须写入所有 blob,然后是树,然后是提交,然后可以更新 refs。如果您不按顺序执行此操作,则您的存储库可能会损坏,因为您可以拥有引用不存在的对象(或引用不存在的其他对象的对象)的分支。

此外,这些工具最终可能会删除您希望在工作树中拥有的文件或重新创建您不希望拥有的文件。所以总的来说,您不想使用这些工具之一同步任何 Git 存储库。

您可以使用git bundle 编写一个捆绑文件并同步它,或者您可以使用rsync 同步一个存储库,前提是它在您这样做时处于空闲状态(未修改)。请注意,如果您同步工作树,Git 将需要在您将其同步到新机器时刷新所有文件,而且 Git 不会尝试防御有权访问工作树的不受信任的用户。

通过 OneDrive 同步您的 Git 安装本身也不是一个好主意,这听起来可能正在发生。相反,在每台机器上独立安装 Git for Windows,不要尝试同步它。 OneDrive 应具有可让您控制同步内容的配置选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 2020-05-04
    • 1970-01-01
    • 2014-01-29
    • 2019-08-30
    • 1970-01-01
    • 2017-01-25
    相关资源
    最近更新 更多