gitlab - 如何通过命令行在 .gitattributes 文件中设置文件属性
问题描述
我想编辑 .gitattributes 文件中的一些文件属性。如何在不签出文件并在进行更改后再次提交文件的情况下通过命令行执行此操作?
例如,我们可以通过git check-attr -a *.txt
命令查看文件属性(显示 .txt 文件的所有属性)。我需要一种类似的方式来设置文件属性。
解决方案
属性定义不一定来自驻留在项目数据库中的文件,它实际上取决于您希望这些属性的范围。从 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
文件。
如果要将属性设置为项目的本地版本:
- 从 git 工具更改文件属性:这只能使用 来完成
git config
,但只能用于属性的子集 (eol) 和所有文件 - 您可以更改位于
$GIT_DIR/info/attributes
推荐阅读
- python - 具有不同 ForeignKey 的 django 查询
- .htaccess - 是否可以创建一个像符号链接一样工作的 .htaccess 重写/重定向规则?
- ios - “NSObjCMessageLoggingEnabled”还活着吗?
- javascript - 如何在悬停该行时仅突出显示表格中一行的几个单元格?
- javascript - 如何在循环内显示数组元素
- java - 通过 spring-data-jdbc Resultset.TYPE_FORWARD_ONLY READ_ONLY 流式传输非常大的表
- javascript - 可放置两次触发的jQuery UI放置事件
- javascript - 由于 mouseup 事件,模态消失(在模态中突出显示输入字段并在模态外释放鼠标)
- r - ComplexHeatMap - 在基础数据集中按顺序列对行进行排序,但在最终热图中不显示顺序列
- wso2 - 使用 Facebook 的 SSO