首页 > 解决方案 > 如何通过命令行在 .gitattributes 文件中设置文件属性

问题描述

我想编辑 .gitattributes 文件中的一些文件属性。如何在不签出文件并在进行更改后再次提交文件的情况下通过命令行执行此操作?

例如,我们可以通过git check-attr -a *.txt命令查看文件属性(显示 .txt 文件的所有属性)。我需要一种类似的方式来设置文件属性。

标签: gitlabgitattributes

解决方案


属性定义不一定来自驻留在项目数据库中的文件,它实际上取决于您希望这些属性的范围。从 git 帮助:

如果您希望仅影响单个存储库(即,将属性分配给特定于该存储库的一个用户工作流的文件),则应将属性放置在 $GIT_DIR/info/attributes 文件中。应该受版本控制并分发到其他存储库的属性(即所有用户感兴趣的属性)应该进入 .gitattributes 文件。应该影响单个用户的所有存储库的属性应该放在由 core.attributesFile 配置选项指定的文件中(参见 git-config[1])。它的默认值为 $XDG_CONFIG_HOME/git/attributes。如果 $XDG_CONFIG_HOME 未设置或为空,则使用 $HOME/.config/git/attributes 代替。系统上所有用户的属性都应该放在 $(prefix)/etc/gitattributes 文件中。

因此,如果您确实需要为项目的所有用户设置文件属性,那么您没有解决办法,只能提交您的.gitattributes文件。

如果要将属性设置为项目的本地版本:

  1. 从 git 工具更改文件属性:这只能使用 来完成git config,但只能用于属性的子集 (eol) 和所有文件
  2. 您可以更改位于$GIT_DIR/info/attributes

推荐阅读