flo*_*lod 9 git config git-worktree
我在我正在使用的脚本中看到了这一行:
git config core.worktree ..
Run Code Online (Sandbox Code Playgroud)
我不确定 git worktree 做什么,但我绝对不明白为什么将其设置为..
有什么线索吗?谢谢
Git 有两种策略来分隔存储库文件夹所在的位置 ( GIT_DIR) 和该存储库跟踪的文件所在的位置 ( GIT_WORK_TREE,也称为主工作/工作树)。
core.worktree更改主工作树的位置。在您的情况下,从默认等效的.到..是包含存储库文件夹的父目录。在外面使用相对路径是你在房间里独自做的事情,而不是在公共场合。core.worktreeGIT_DIR
他们为什么要这样做?跟踪多个存储库中的相同文件;原始开发人员可能在该父文件夹的子文件夹中拥有多个存储库,全部用于..其core.worktree配置。正如前面的答案所提到的,这可能是共享库的一种方式,但是有更好的策略来做到这一点。
自从我提出以来,您可以获取任何 git 存储库,并将.git存储库文件夹替换为包含指向将充当存储库文件夹的新位置的.git文件。gitdir: <some path>重要的是要注意<some path>包含存储库文件夹名称,因此这是更改存储库文件夹名称的一种方法,因此它不是.git. 执行此操作时,您在文件的位置执行 git 命令,.git因为它现在伪装成存储库文件夹。
绝大多数 git GUI 不能正确支持core.worktree. 使用此配置选项的任何存储库都应仅通过终端命令进行处理。
| 归档时间: |
|
| 查看次数: |
5803 次 |
| 最近记录: |