当前位置:   article > 正文

gitattributes配置文件的作用_.gitattributes

.gitattributes

0 Preface/Foreword

0.1 基本概念

Git版本管控工具功能强大,在使用过程中,在多人合作的项目开发过程中,经常会遇到提交代码时出现的warning提醒,尤其是换行符。

Linux/Unix/Mac OS操作系统的换行符使用LF符号(\n),而Windows使用CR(\r)LF(\n)作为换行符。

CR:Carriage Return,回车,ASCII码0x0D,Ctrl为 ^M

LF:Line Feed,换行,ASCII码0x0A,Ctrl为^J

影响换行符的几个因素

  • 操作系统(平台)
  • 编辑器(尤其是Windows平台下的编辑器)
  • core.autocrlf 变量设置, true, false, input

core.autocrlf不同值的作用:

  • true,最终提交到代码库中时,所有文件都认为是text,把所有CRLF转成LF。checkout时,全都转为CRLF;(git add的过程中,会强制将LF转成CRLF; git commit时,强制将CRLF 转成LF)(推荐在Windows中使用,适合多平台协作
  • false,最终提交到代码库中时,保持原来text内容。CRLF还是CRLF,LF还是LF。(适合纯Windows
  • input,最终提交到代码库中时,所有CRLF转成LF。checkout时,保持LF或者CRLF(不转换)。(推荐在Linux/Unix下使用,适合纯Linux/Mac OS

core.safecrlf不同值的作用:

  • true,若有mixed line endings,无法提交,fatal错误
  • false,允许提交包含混合line endings的文件
  • warn,只是警告,仍然可以提交

core.eol的值类型当且仅当core.autocrlf为false时,core.eol设置才有效

  • lf
  • crlf
  • native,根据平台,自动转换

Git版本管控的几个区域

  • 工作区, working directory,检出(git  checkout <branch>)到对应的分支
  • 暂存区,stage/index,通过git add 添加修改过的文件,git add的动作就是将文件修改放入到了暂存区
  • 本地版本库,commit history, 通过git commit动作,提交成功后,对应的文件会放入版本库中
  • 远程版本库,通过git push动作,将本地版本库更新到远程库

0.2 git 变量查看和设置

0.2.1 查看autocrlf

git config core.autocrlf 

0.2.2 查看safecrlf

git config core.safecrlf

0.2.3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/693886
推荐阅读
相关标签
  

闽ICP备14008679号