git - 为什么在使用单独的 git 目录时,包含 `.git` 目录的文件夹仍以某种方式与主工作树文件夹相关联?
问题描述
使用单独的 git dir 选项克隆 repo 后,根文件夹在 git version 中的行为很奇怪2.31.0
。
/local/repo> git clone <url> --separate-git-dir=.git main
在这个命令之后,目录结构是:
/local/repo
/.git
/main
对于某些命令,/local/repo
仍然似乎与工作树相关联/local/repo/main
。例如:
转变
/local/repo> git switch banana
Switch to branch 'banana'
D a_file_in_the_repo.txt
站在 时可以切换主工作树的分支/local/repo
,但是这样做时,存储库中的所有文件都被列为已删除( )(因为我猜D
它们在当前目录的相对路径中不可用,但实际上应该是我认为在这里使用过?)。这不是很奇怪吗?/local/repo
/local/repo/main
工作树列表 -v
/local/repo> git worktree list -v
/local/repo <hash0> [main]
为什么 main 的工作树列出在/local/repo
而不是/local/repo/main
?
分支-vv
/local/repo>git branch -vv
main <hash0> [origin/main] <commit message>
为什么站立时不打印工作树的本地目录/local/repo
?预期输出:
/local/repo>git branch -vv
main <hash0> (/local/repo/main) [origin/main] <commit message>
解决方案
推荐阅读
- javascript - 反应备忘录没有得到道具
- ios - 将计时器传递给 SwiftUI 中的子视图
- javascript - 有没有办法在引用之前从 ES6 类文件中执行代码?
- ruby - 将一个哈希值映射到另一个哈希红宝石
- stata - 为什么Stata中的这种回归没有进展也没有返回错误代码?
- python - Unix find 命令在一个单词中有多个字符串
- python - 用 beautifulsoup 抓取更多内容
- php - 如何在php中以不同的方式编写它
- python - 使用列表中的索引来获取另一个列表中的另一个值/元素
- amazon-web-services - 如何将不可用的包添加到 EC2 实例?