gpt4 book ai didi

git - 将 Git 工作目录转换为裸存储库?

转载 作者:太空狗 更新时间:2023-10-29 13:40:44 24 4
gpt4 key购买 nike

我们的开发环境使用多个存储库作为整体构建系统的一部分。构建会根据您 checkout 的存储库进行动态调整:如果您不需要构建特定组件,请不要克隆它。

但是,一旦您克隆了一个组件,将其从构建中移除是有问题的:

  • 您可以删除工作目录中的文件,但是 git status 会显示未提交的更改
  • 您可以删除存储库,但需要时重新克隆
  • 您可以移动存储库,但您的多存储库工具可能会“有帮助地”重新克隆

有没有更好的方法来删除工作目录的文件?类似于 hg co nullp4 sync ...#none 的东西?

最佳答案

找到similarquestions这并没有完全满足我的要求,this article提供了答案:创建一个空分支。

git checkout --orphan empty
git rm -rf .
git commit --allow-empty -m "An empty working directory"

当然,请确保您已首先将所有重要文件提交到您的存储库。我将此分支称为 empty,但您可以通过 checkout 命令为其指定任何名称。

设置完成后,您可以切换到任何分支以取回您的文件:

git checkout master

当您需要“删除”工作目录时,提交更改,然后运行:

git checkout empty

这将删除所有跟踪的文件。如果您还需要删除未跟踪的文件和目录,请执行以下操作:

git clean -fdx

关于git - 将 Git 工作目录转换为裸存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27113801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com