如何禁用 .gitignore 文件的自动提交?

How to disable automatic commits of .gitignore files?

我们有一个使用 Hp 统一功能测试的测试团队。测试和开发团队都共享相同的 Git 存储库。测试团队中没有人使用 HP-UFT 中的 Git 功能,文件被提交并推送到工具之外。

尽管如此,HP-UFT(自动)创建并执行 .gitignore 文件的提交,如下所示。提交似乎是基于每个项目的,并且使 git 日志混乱。

#UFT ignore section
*.lck
/Res*
#end UFT ignore section

不会自动推送提交。

所有提交的提交消息都是相同的(信息量不是很大):

UFT Commit

如何在 Hp Unified Functional Testing(版本 12.51)中禁用这种奇怪的行为?更清楚地说,我正在寻找一种使工具 执行这些提交的方法。我知道这些文件和文件夹应该被忽略,但我宁愿管理一个 .gitignore 文件在文件夹层次结构中更上一层楼。

谷歌搜索或阅读 User Guide 没有任何帮助。


我悬赏这个问题,说明我想要一个包含以下任一内容的答案:

赏金过期后,没有答案满足这些条件,所以我想弄清楚我想要什么样的答案。

在 UFT 中没有避免这种行为的直接方法。实际上,您可以在 "UFT" 部分添加自己的忽略规则。例如,您可以添加 line

'!/Res1' 

理论上这将允许提交“/Res1”文件夹。或者,您可以为 Result 文件夹指定另一个名称并自由提交。 请记住,.lck 文件不应进入公共存储库。

为什么你需要在存储库中本地机器的测试结果?

我不知道 UFT,但如果您可以访问由该工具管理的 git 存储库,您可以考虑设置一个 git 预提交挂钩(在 .git/hooks/pre-commit),类似于“Use git pre-commit hooks to stop unwanted commits" by Jake McCrary(脚本只是一个示例,需要根据您的情况进行调整)。

想法是寻找 list of files which are about to be committed

git diff --cached --name-only --diff-filter=ACM

如果该列表仅包含 .gitignore 个文件,您将拒绝提交。

and 的两个答案都是正确的,因为它似乎不存在禁用从 HP-UFT 自动提交文件的直接方法。因此 Git 方法是使用 VonC 给出的解决方案并添加一个 Git 钩子强制忽略这些提交。


但是,我们成功地在 HP-UFT 中找到了一个解决方法,在我看来感觉更好:

Git 的插件位于 HP-UFT-INSTALLATION-DIRECTORY/addins/VersionControlSystem。例如,将此文件夹的名称更改为 VersionControlSystem_backup(或简单地删除该文件夹)可确保 HP-UFT 不会执行这些不需要的提交。

当然,如果应用程序内部有一个禁用插件的设置,那将是首选,但它似乎不存在。希望 HP 会在应用程序的未来版本中解决这个问题(或者最好是不需要提交的根本原因)。