当我重命名 git repo 的父目录时会发生啥?

Posted

技术标签:

【中文标题】当我重命名 git repo 的父目录时会发生啥?【英文标题】:What happens when I rename the parent directory of a git repo?当我重命名 git repo 的父目录时会发生什么? 【发布时间】:2021-08-23 01:00:05 【问题描述】:

如果我在名为some-folder 的文件夹中有一个git repo,我将其更改为another-folder,会有什么问题吗?

【问题讨论】:

不,git 不知道它所在的文件夹的名称。所有与 git 设置相关的信息都在 .git/ 文件夹中 【参考方案1】:

这里的答案是“不是”和“是”。

在许多(大多数?)情况下,Git 完全没有问题,因为 Git 相对于工作树的顶层和 .git 目录工作。

然而,当使用git worktree 时,和/或当其他用户可能将存储库作为远程 引用时——例如,当您在一个服务器上时,服务 Git 请求——可能存在对该特定存储库的绝对路径引用。如果是这样,存储库本身之外的任何引用都需要更新。例如,如果您在公司的主 Git 服务器上使用 Git 存储库,并且它位于 /exports/repos/path/to/repo.git 并且您将其更改为 /exports/repos/repository.git,那么公司中的每个人都可能必须将其 URL 从 ssh://example.com/path/to/repo.git 更改到ssh://example.com/repository.git

因此,答案是关注存储库被使用的周围环境。 Git 本身在这里不太可能有问题,但 其他人 可能。如果您使用额外的工作树,也要考虑它们可能受到的影响。

【讨论】:

以上是关于当我重命名 git repo 的父目录时会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

我可以将 repo 的 .git 目录移动到它的父目录吗?

当 GIT 用完您的修订版的哈希值时会发生啥?

当 Grails BuildConfig 范围没有指定组织时会发生啥?

当我编辑 web.config 时会发生啥?

当我删除指针的指针时会发生啥?

当我创建我的类的对象实例时会发生啥