gpt4 book ai didi

无需推送/pull 存储库上的 git 版本控制文件

转载 作者:太空狗 更新时间:2023-10-29 14:09:31 25 4
gpt4 key购买 nike

我在 git 中跟踪了我的网站/cms,它运行良好,除了我的 .htaccess 文件。该文件需要有很大的不同,具体取决于我在哪个服务器上运行代码(本地/测试/实时)。因此,现在我已经将 .htaccess 完全排除在 git 之外(它在我的 .gitignore 文件中)。但偶尔它会丢失,无论如何它是站点的一部分,我希望它保持跟踪,但我不希望它被推送到远程存储库,在那里它可能会覆盖其他服务器的正确配置。有没有办法让 git 跟踪文件,但仅限于本地? (或者有什么其他办法解决问题?)

最佳答案

您可以使用 Git 的 sparse checkout 来做到这一点特征。在需要特殊的、未跟踪的 .htaccess 文件的存储库中运行以下命令:

git config core.sparsecheckout true
echo '*' >.git/info/sparse-checkout
echo '!.htaccess' >>.git/info/sparse-checkout
git read-tree --reset -u HEAD

这将首先删除 现有的.htaccess 文件。但现在从 Git 的角度来看它被忽略了,所以你可以把一个机器特定的放在那里,Git 不会打扰你。

然后您可以从一些其他 存储库(比如您的本地存储库)添加和管理一个.htaccess 文件。 Git 会很乐意跟踪这个文件并将其保存在存储库中,但是在具有上述稀疏 checkout 配置的机器上,Git 将忽略其中的本地 .htaccess 文件工作目录,即使它与存储库中的不同。

关于无需推送/pull 存储库上的 git 版本控制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4638078/

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