为了账号安全,请及时绑定邮箱和手机立即绑定

使git在提交前自动删除尾随空格

使git在提交前自动删除尾随空格

Git
德玛西亚99 2019-12-07 15:24:54
我正在与团队一起使用git,并希望从diff,日志,合并等中删除空格更改。我假设最简单的方法是让git自动删除结尾的空格(以及其他空格错误) )中的所有提交。我试图将以下内容添加到~/.gitconfig文件中,但是在提交时它什么也没做。也许它是为不同的东西而设计的。有什么解决办法?[core]    whitespace = trailing-space,space-before-tab[apply]    whitespace = fix如果有人对红宝石有任何特定想法,我会使用红宝石。下一步是提交之前自动进行代码格式化,但这是一个难题,并且不会真正引起大问题。
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

我发现了一个git pre-commit钩子,该钩子删除了结尾的空格。


#!/bin/sh


if git-rev-parse --verify HEAD >/dev/null 2>&1 ; then

   against=HEAD

else

   # Initial commit: diff against an empty tree object

   against=4b825dc642cb6eb9a060e54bf8d69288fbee4904

fi

# Find files with trailing whitespace

for FILE in `exec git diff-index --check --cached $against -- | sed '/^[+-]/d' | sed -r 's/:[0-9]+:.*//' | uniq` ; do

   # Fix them!

   sed -i 's/[[:space:]]*$//' "$FILE"

   git add "$FILE"

done

exit


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 820 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信