将一行添加到存储库根目录中的.gitattributes
文件后:
*.tt eol=crlf
在什么时候,在merge
、commit
或push
,什么过程将应用此规则并更改行尾?它将在哪里运行他们在客户端或任何存储源(bitbucket,藏,github)?每个操作系统都不一样吗?
在签出和签入下面,用于.gitattributes的git手册页有点模糊:
当命令如git签出和git合并运行时,这些属性会影响存储在存储库中的内容如何复制到工作树文件中。它们还会影响Git在git、add和git提交时如何将准备好的内容存储在存储库中的工作树中。
确切地说,这些改变是什么时候进行的?
这与.gitconfig
中的设置有什么不同?
发布于 2015-06-05 09:51:37
在下列情况下完成行尾转换
由于merge
将文件添加到索引中(除非发生冲突),因此该规则确实在merge
上运行。从技术上讲,它不会发生在commit
上,因为commit
只是将文件从索引复制到存储库,但是如果您传入-a
选项,那么文件确实会被复制到索引中,从而执行该规则。checkout
将文件从索引复制到工作目录,然后执行该规则。在push
期间不执行任何规则。
https://stackoverflow.com/questions/30669292
复制相似问题