首页 > 解决方案 > 提交到 git 时排除文件夹

问题描述

我需要确保在提交代码更改时为所有开发人员排除某个文件夹。

.gitignore 无济于事,因为这些文件已经在存储库中跟踪。

试过了,但 .git/info/exclude 也无法解决问题。
试过这个,但git update-index --assume-unchanged [<file> ...]也失败了。
然后我遇到了这个,但可惜甚至--skip-worktree失败了。

在我的构建过程中,某些文件被添加到存储库中跟踪的文件夹中。但是我不需要将这些文件提交到存储库,而且我也无法从存储库中删除这些文件,因为如果这样做它们会破坏构建。
git update-index --skip-worktree SDK/在构建开始之前运行。
我还在终端上得到了输出,Ignoring path SDK/
但是在我构建并且我的构建修改了 SDK 文件夹中的一些文件之后,我修改的大约 200 个奇怪的文件显示在 git 状态中。

有什么办法可以阻止它出现在git status.
到目前为止,我发现的唯一解决方法是git checkouot SDK/在构建后使用这些文件从已更改文件列表中的显示中删除。

标签: gitatlassian-sourcetreegit-checkout

解决方案


您可以设置一个预提交挂钩来检查您的文件是否已暂存并让它失败以防万一。

该文件仍将显示在 中git status,但您的开发人员将无法对其进行任何更改。


推荐阅读