OneDrive 和 Git - 不同的文件夹结构



我使用 OneDrive 在我使用的所有计算机(家庭台式机、笔记本电脑和工作计算机(之间同步我的个人项目。在我的家用PC中,我在以下路径中有一个git存储库:

I:OneDriveDocumentsProjectsMyProject

在我的工作计算机中,OneDrive 基本位置映射到其他路径,以便文件夹同步到:

C:UsersMyUserOneDriveDocumentsProjectsMyProject

我将 VSCode 与 git 集成一起使用,在我的家用计算机中一切正常,但是当我在工作计算机中使用 VSCode 打开存储库时,它无法识别存储库。如果我在 .git 目录中打开配置文件,我可以看到 worktree 指向我家用机器的绝对路径:

worktree = I:/OneDrive/Documents/Projects/MyProject

我认为 git 试图在我的工作计算机中找到此路径,该路径不存在(因为 OneDrive 映射到其他位置(,因此它无法识别 VSCode 中的存储库。

有没有办法解决这个问题?我可以让 git 在处理存储库位置时使用相对路径吗?我尝试将工作树更改为../但这似乎不起作用。

谢谢!

通常你不需要在 git 存储库中设置 worktree 配置。 您应该能够删除此特定配置参数。 在这种情况下,工作目录是您的 .git 文件夹所在的位置(在您的情况下,该目录从工作计算机更改为家庭计算机(。这个.git文件夹应该在你的项目的根目录中,例如:

I:\OneDrive\Documents\Projects\MyProject\.git

任何具有 git 集成的工具都应该为这个项目选择正确的工作目录。

尽管如此,我强烈建议使用外部 git 存储库,例如 https://github.com。OneDrive 不是存储项目的理想位置,如果只在此项目中工作,则可能没问题,但如果有人加入项目,则失败。同步 git 对象也可能是 OneDrive 的痛苦,它将在大型项目上严重扩展,并可能在同步失败时损坏您的 git 存储库。

git 的美妙之处在于你不需要集中的 git 存储库(这就是你现在使用 OneDrive 所做的(,但实际上 git 是一个分布式版本控制系统。 这里有一些进一步的阅读:https://www.git-scm.com/about/distributed

如果坚持使用 OneDrive,则应仅将 OneDrive 位置用作上游位置。这意味着你从OneDrive拉取并推送到它。如何在没有合适的 git 服务器的情况下使用 git?演示如何执行此操作。

相关内容

  • 没有找到相关文章

最新更新