为什么要使用分离的git工作树?

为什么要使用分离的git工作树?,git,workflow,Git,Workflow,在git中设置分离的工作树有哪些优点和/或合适的用例?我对涉及一系列服务器的工作流(例如,localhost->staging server->live server)的情况特别感兴趣。我认为gits开发日志是寻找确定用例的最佳场所。但是,实际上,我知道子模块现在正在使用它们(关联的存储库结构现在存储在.git/modules下,而工作树位于相对于您自己的工作树的预期位置。我还使用它签出不同的修订版以供检查,而不必先隐藏或提交,然后可以进行第二次签出。)当你完成它的时候,他说。我不认为你会希望在

在git中设置分离的工作树有哪些优点和/或合适的用例?我对涉及一系列服务器的工作流(例如,localhost->staging server->live server)的情况特别感兴趣。

我认为
git
s开发日志是寻找确定用例的最佳场所。但是,实际上,我知道子模块现在正在使用它们(关联的存储库结构现在存储在
.git/modules
下,而工作树位于相对于您自己的工作树的预期位置。我还使用它签出不同的修订版以供检查,而不必先
隐藏
提交
,然后可以进行第二次签出。)当你完成它的时候,他说。我不认为你会希望在不同的提交上有两个活动的工作目录,但是为了提交额外的更改。这条路径闻起来很混乱。我想我可以想象一些随机的公司法令,所有存储库都必须在备份的特定文件系统上,但是你可以把你的工作k目录;虽然这显然是一个极端的情况,有人“没有得到它”…

我想
git
s开发日志将是寻找确定用例的最佳地方。但是,实际上,我知道子模块现在正在使用它们(关联的存储库结构现在存储在
.git/modules
下,而工作树位于相对于您自己的工作树的预期位置。我还使用它签出不同的修订版以供检查,而不必先
隐藏
提交
,然后可以进行第二次签出。)当你完成它的时候,他说。我不认为你会希望在不同的提交上有两个活动的工作目录,但是为了提交额外的更改。这条路径闻起来很混乱。我想我可以想象一些随机的公司法令,所有存储库都必须在备份的特定文件系统上,但是你可以把你的工作k目录;虽然这显然是一个极端的情况,有人“没有得到它”…

最大的优势(至少我看到)是能够在不强制git存储库本身位于活动区域的情况下进行复制。你可以在任何地方抛出repo,并使用分离的工作树进行签出。

最大的优势(至少在我看来)是在不强制git存储库本身位于活动区域的情况下进行恢复的能力。你可以在任何地方抛出回购,并使用分离的工作树进行签出。

可能只是我,但分离的工作树是什么?我只知道“分离头”你能解释一下“分离的工作树”是什么意思吗?@doub1ejack似乎指的是git回购在一个地方而工作树在另一个地方的情况,而不是回购在工作树中的.git目录。也许只是我,但什么是分离的工作树?我只知道“分离的头”你能解释一下“分离的工作树”是什么意思吗?@doub1ejack似乎指的是git repo在一个地方,而工作树在另一个地方,而不是repo是worktree.TIL中的.git目录。关于工作树设置,这对我来说是新的(没想到:P)。谢谢,+1!@poke嘿,没问题!老实说,这是我最喜欢的Git功能之一。非常喜欢它。你可以设置
post receive
挂钩,将不同的分支签出到不同的位置,因此,要测试或上线,你所要做的就是将你的东西放在正确的分支中并推送。有史以来最酷的事情。有安全措施吗是否将存储库保留在web目录之外?当然。如果您在服务器上运行某个动态对象,则将repo保留在web目录中会让所有人都可以访问您的后端。如果它是您已经开放源代码的后端,您可能不在意。将repo与开发活动分开也有一定的价值。的另一个repo在核心更新期间,Drupal的命令行工具Drush意外地影响了我的工作树设置。(受影响~=已删除)。这对我来说是新的(没想到:P)。谢谢,+1!@poke嘿,没问题!老实说,这是我最喜欢的Git功能之一。非常喜欢它。你可以设置
post receive
挂钩,将不同的分支签出到不同的位置,因此,要测试或上线,你所要做的就是将你的东西放在正确的分支中并推送。有史以来最酷的事情。有安全措施吗是否将存储库保留在web目录之外?当然。如果您在服务器上运行某个动态对象,则将repo保留在web目录中会让所有人都可以访问您的后端。如果它是您已经开放源代码的后端,您可能不在意。将repo与开发活动分开也有一定的价值。的另一个repo在核心更新期间,Drupal的命令行工具Drush意外地影响了我的工作。(受影响~=已删除)