跳到主要内容

Git 属性

提示

.gitattributes 是 Git 项目中的一个配置文件,用于定义文件的属性,以便更好地控制文件的处理和展示方式。

通过在项目中添加 .gitattributes 文件,你可以为特定文件或文件类型设置属性,从而优化版本控制和协作过程。主要功能包括:

  • 文件编码:定义文件的编码,以确保它们在不同的操作系统和编辑器中正确解释
  • 行尾格式:指定文件的行尾格式,如 Unix(LF)Windows(CRLF)Mac(CR)
  • 合并策略:配置文件合并时使用的策略,以避免冲突并确保合并正确进行
  • 二进制文件处理:定义二进制文件的处理方式,以便它们不会被误解为文本文件
  • Git LFS 支持:指定哪些文件应该由 Git LFS(大文件存储) 管理,从而优化大文件的版本控制。

通过合理配置 .gitattributes,你可以显著提升 Git 项目的 性能协作效率

创建 .gitattributes 文件

  1. 登录 GitCode:首先,请确保你已登录到 GitCode 帐户
  2. 进入项目:进入包含你想要创建 .gitattributes 文件的项目页面
  3. 点击添加文件:在项目页面右上角,点击 “+” 按钮选择 「新增文件」
  4. 命名 .gitattributes 文件:在文件名字段中,输入 ".gitattributes" (请确保文件名以点号开头)
  5. 定义文件属性:在文件中,定义文件属性和规则。例如,你可以设置文件的编码、行尾格式和合并策略
  6. 点击 "提交修改":在页面右上方,点击 「提交修改」 按钮以保存 .gitattributes 文件

attributes1 attributes2

示例

以下是一个 Java 代码文件的示例:

# Java sources
*.java text diff=java
*.kt text diff=kotlin
*.groovy text diff=java
*.scala text diff=java
*.gradle text diff=java
*.gradle.kts text diff=kotlin

# These files are text and should be normalized (Convert crlf => lf)
*.css text diff=css
*.scss text diff=css
*.sass text
*.df text
*.htm text diff=html
*.html text diff=html
*.js text
*.jsp text
*.jspf text
*.jspx text
*.properties text
*.tld text
*.tag text
*.tagx text
*.xml text

# These files are binary and should be left untouched
# (binary is a macro for -text -diff)
*.class binary
*.dll binary
*.ear binary
*.jar binary
*.so binary
*.war binary
*.jks binary

# Common build-tool wrapper scripts ('.cmd' versions are handled by 'Common.gitattributes')
mvnw text eol=lf
gradlew text eol=lf

更多示例可参考 https://gitcode.com/alexkaratarakis/gitattributes