【问题标题】:GIT INIT not creating a working treeGIT INIT 没有创建工作树
【发布时间】:2015-08-26 03:37:42
【问题描述】:

我正在做一个简单的git init C:\XXX 从我的主机运行以在另一台从机上执行。 C:\XXX 是从站中的路径。假设它会创建一个非裸存储库,因为我没有提供--bare 选项。我还查看了从机中的系统、全局配置设置,并在这些设置中专门设置了bare = false 选项。但即使在运行git init 之后,我也可以看到本地配置具有bare = true

init 命令默认从哪里获取裸设置?

【问题讨论】:

  • 这里主机和从机的作用我不清楚。两者都可以访问C:\XXX 吗?两台机器是否有不同的系统或全局设置? (例如,如果您在机器 A 上运行 git init C:\XXX,那么只有 A 的配置文件中的设置很重要。)
  • 我已将此 jenkins 作业配置为在从属设备上运行。该作业有一系列 git 命令使用从站中的工作区目录。 C:\XXX 是 slave 中的工作区目录。当 jenkins 执行 git init 命令时,它是在创建一个裸存储库。我试图在 init 之前显示 git config --list 并且没有任何裸设置设置为 true 但在 init 命令之后我执行相同操作并且我看到一个 bare=true 条目。我还尝试从从机命令提示符直接执行这些命令,它确实以这种方式创建了一个非裸存储库
  • 主机上bare的全局设置是什么?

标签: git git-bare git-init


【解决方案1】:

当您在主计算机上运行 git init <path> 时,Git 应用程序在主计算机上运行。它使用那台机器的全局配置,你可能有bare=true

要解决此问题,您可以使用以下选项之一:

  1. 使用SSH登录从机并运行git init <path>
  2. 直接将预制的.git 复制到从站上的选定路径。这使您可以选择使用调整后的存储库。例如。你可以添加 git 钩子。

【讨论】:

  • 解决了!!它在某种程度上与我创建的从机有关。我更新了很多配置文件,使其具有 bare = false 并且可能搞砸了一些东西。所以我删除了从站并创建了另一个从站,并使用了我需要的 slave.jar 来启动新的。
  • 感谢大家的反馈。 Nick -> git init 正在从机上运行,​​因为 jenkins 作业正在从机上运行,​​并且它也在使用从机 git,因为我提供了从机 git 路径的工具位置
  • @ARUNNAIR 哦,我明白了。您介意我重写我的答案以包含您的解决方案吗?
  • 当然,尼克。请继续
猜你喜欢
  • 2015-03-07
  • 2018-09-22
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 2022-10-24
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多