使用git预提交钩子修复mac/windows新行?

使用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设置,但我意识到我可以准备一些脚本,这些脚本需要在他们每次提交时运行

在我们的办公室里,我们和大约10名开发人员一起工作。他们大多数都有一台Mac电脑。最近我意识到,当我检查我的工作差异时(只更改了一行代码之后),几乎每一行都被更改了,但是
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钩子中处理转换。