【发布时间】:2014-11-02 07:34:23
【问题描述】:
我正在尝试在 OneDrive 同步文件夹中创建一个 git 存储库,但我遇到了问题。
我使用 OneDrive 通过“云”在我的多个设备之间同步文件夹。在我的开发机器(Win 7 64)上,OneDrive 文件夹位于 C:\Users\myusername\OneDrive 下。
我在该目录中创建了一个 \git 子文件夹,并在该文件夹中为我的代码 (foo.git) 创建了一个 git 存储库。
在同一台机器上,我可以将该存储库克隆到另一个未与 OneDrive 同步的文件夹,然后推送和拉取更改。
但是在我的另一台机器(Win 8.1 64)上,它也与 OneDrive 同步,当我尝试克隆存储库时(看起来一切都在 C:\Users\myusername\OneDrive\git\foo.git 下),我收到“这不是有效的 git 存储库”错误。
两台机器之间的 \git 文件夹内容“应该”相同,因为它们已同步。我唯一能想到的是,我的 git 存储库中可能有一些隐藏的文件夹/文件没有同步。 OneDrive 应该用于同步所有内容,包括隐藏文件和文件夹(据我所知)。
远程 git 存储库中是否有隐藏文件夹或文件?
我不确定为什么这不起作用,我读过其他人使用 OneDrive 来存储 git 远程存储库而没有问题。也许是一台机器是 Win 7 而另一台机器是 Win 8.1 的问题?
由于我已经用尽了我的谷歌搜索来寻找解决方案,对于我可能做错的事情,有人有任何建议或见解吗?
【问题讨论】:
-
试试这个blog,它适用于SVN。对 GIT 也应该是一样的。
-
我也有类似的问题。 Onedrive 显示合并错误,并不断在 .git 目录中创建 FETCH_HEAD 文件的副本,并将我的 PC 名称附加到名称中。这似乎是一个无限循环。有没有办法解决这个问题,或者我必须写一个洗澡脚本来清除这些重复项?
-
@VinShahrdar 我有同样的问题。我认为原因是当您运行
git fetch时,Git 会非常快速地多次更新文件(每个新/更新的分支一次?),以便 OneDrive 开始同步它,但在上传到云之前它会被覆盖, OneDrive 将其视为冲突。这是错误的,但事实就是如此。幸运的是,它看起来是无害的:冲突副本只是过时了,您可以忽略它们,或删除它们。