使用git预提交钩子修复mac/windows新行?
在我们的办公室里,我们和大约10名开发人员一起工作。他们大多数都有一台Mac电脑。最近我意识到,当我检查我的工作差异时(只更改了一行代码之后),几乎每一行都被更改了,但是使用git预提交钩子修复mac/windows新行?,git,githooks,git-bash,Git,Githooks,Git Bash,在我们的办公室里,我们和大约10名开发人员一起工作。他们大多数都有一台Mac电脑。最近我意识到,当我检查我的工作差异时(只更改了一行代码之后),几乎每一行都被更改了,但是git diff显示更改与原始更改完全相同。经过一些研究,结果是一条不同的新路线。在我做任何事情之前,它是'\r\n'(CR+LF,0x0D0A),在我更改之后,所有非Unix新行(\r\n)都更改为Unix行(\n) 我意识到我可以要求我的同事更改他们的IDE设置,但我意识到我可以准备一些脚本,这些脚本需要在他们每次提交时运行
git diff
显示更改与原始更改完全相同。经过一些研究,结果是一条不同的新路线。在我做任何事情之前,它是'\r\n'(CR+LF,0x0D0A),在我更改之后,所有非Unix新行(\r\n)都更改为Unix行(\n)
我意识到我可以要求我的同事更改他们的IDE设置,但我意识到我可以准备一些脚本,这些脚本需要在他们每次提交时运行
如何在git提交之前运行bash脚本?如何使用git预提交钩子?一切都在解释中
这里呢
对于Linux/Mac计算机,请使用
git config --global core.autocrlf input
git config --global core.autocrlf true
适用于Windows计算机
git config --global core.autocrlf input
git config --global core.autocrlf true
使用此设置,git将在每次提交之前将所有\r\n
行结尾转换为\n
。所有内容都已打开
这里呢
对于Linux/Mac计算机,请使用
git config --global core.autocrlf input
git config --global core.autocrlf true
适用于Windows计算机
git config --global core.autocrlf input
git config --global core.autocrlf true
通过此设置,git将在每次提交之前将所有
\r\n
行结尾转换为\n
。Mac现在使用\n
作为行结尾。我找不到源代码,但这是事实。确实如此,但我的一些同事的IDE似乎设置为非Unix行结尾。Windows用户可能也需要\n
行结尾。在这种情况下,最好在git钩子中处理转换。Mac现在使用\n
作为行结尾。我找不到源代码,但这是事实。确实如此,但我的一些同事的IDE似乎设置为非Unix行结尾。Windows用户可能也需要\n
行结尾。在这种情况下,最好在git钩子中处理转换。