`
agile_boy
  • 浏览: 554435 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

git恼人的trailing whitespace

阅读更多
用git进行版本控制,很爽!完全的分布式管理,让你可攻可守。

但不知各位用他来管理过Java代码?在提交的时候,碰到过“trailing whitespace”没有?这也算是代码规范的一个校验吧,即代码中不允许以空格结尾。

在实践中,我在两种情况下会碰到这种情况:
  1. crlf类:这主要是不同操作系统平台的回车编码不同导致
  2. 代码中确实是以空格结尾,比如eclipse默认生成的java doc,就会以“* “结尾

对于以上两类问题,都有效的解决方案就是:注释掉部分代码
if (/\s$/) {
bad_line("trailing whitespace", $_);
}

将以上三行代码注释掉:perl的注释是“#”

或者禁止执行pre-commit脚本
chmod a-x .git/hooks/pre-commit


不过对于第一类的情况,还可以通过设置git的参数来完成:
git-config core.autocrlf true
git-config core.safecrlf true


对于第二类,本人确实没有更好的办法来,希望高人在此指点一下,鄙人不胜感激。


--Update:
Eclipse的其实是支持Remove Trailing Whitespace的,步骤如下:
  1. Window > Preferences > General > Keys > Modify
  2. 查找“Remove Trailing Whitespace ”
  3. 在Key Sequence中自定义要映射的键
  4. 点击OK

2
0
分享到:
评论

相关推荐

    git安装包git安装包git安装包git安装包git安装包

    Git是一款分布式版本控制系统,它允许开发者对代码进行追踪和协作,是开源软件开发的重要工具。在本教程中,我们将深入探讨Git的安装过程及其核心概念,以便您能更好地理解和使用这个强大的工具。 首先,让我们详细...

    git压缩包下载git下载

    Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发代码并跟踪每一次更改。"git压缩包下载git下载"这个标题和描述可能指的是提供Git的安装程序压缩包的下载服务。在本篇中,我们将深入探讨Git的核心...

    GIT 压缩包 适用于压缩包式安装git

    接下来,你可以学习基本的Git命令,如`git clone`(克隆远程仓库)、`git add`(暂存更改)、`git commit`(提交更改)、`git push`(推送本地更改至远程仓库)和`git pull`(拉取远程仓库的更新)等。 总的来说,...

    linux系统安装git及git常用命令

    1 安装GIT 代码如下:$ sudo aptitude install git$ sudo aptitude install git-doc git-svn git-email git-gui gitk git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,...

    Git for Windows 2017 最新版,Git-2.15.0

    Git for Windows 2017 最新版,Git-2.15.0 是Git的Windows适配版本,它为Windows用户提供了完整的Git功能,并且优化了在Windows环境下的使用体验。Git是一个分布式版本控制系统,由Linux之父Linus Torvalds开发,...

    Git-1.9.0 git

    Git的主要操作包括初始化仓库(`git init`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看提交历史(`git log`)、分支管理(`git branch`和`git merge`)、远程仓库交互(`git clone`、`git ...

    git工具git工具

    Git是一种分布式版本控制系统,它由Linus Torvalds在2005年为Linux内核开发而创建。Git工具是用于管理和跟踪项目源代码更改的软件工具,它提供了丰富的命令行界面以及各种图形用户界面(GUI)来简化操作流程。在...

    git安装包git-2.34.0-64-bit.rar

    4. **命令行基础**:Git主要是通过命令行工具使用的,掌握常用的命令如`git clone`、`git add`、`git commit`、`git push`、`git pull`等是必不可少的。 5. **分支管理**:Git的分支机制强大且灵活,允许快速创建和...

    git创建服务器端

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,从而实现高效的协作和版本控制。本教程将深入讲解如何在自己的计算机上创建一个Git服务器端,建立远程代码仓库,以便团队成员可以进行协作...

    windows64位git安装包

    Git是分布式版本控制系统,它在软件开发领域尤其是开源项目中起着至关重要的作用。Windows 64位Git安装包是专门为64位Windows操作系统设计的Git版本,确保在该平台上高效稳定地运行。官方下载的Git安装包可以保证其...

    Gitblit搭建及Git协作开发流程参考

    Gitblit搭建及Git协作开发流程参考 本文档主要介绍了Gitblit的搭建和Git协作开发流程,旨在帮助创业团队和小型开发团队快速搭建自己的代码服务器。同时,文档也提供了基本的开发流程,代码提交、代码上传、代码...

    GitBash和GitGui右键失效解决方法

    6.选中 Git GUI Here 右键新建(项),并重命名为command,command的值设置为 D:\Program Files\Git\cmd\git-gui.exe --working-dir %v,其中--working-dir和git-gui.exe之间有空格,--working-dir和%v之间也有空格 ...

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...

    git 教材 progit

    Git是世界上最先进的分布式版本控制系统,被广泛应用于软件开发和协作工作中。ProGit是一本由Scott Chacon和Ben Straub编写的权威Git教材,中文版名为《Git权威指南》。这本书深入浅出地介绍了Git的基本概念、核心...

    git客户端离线安装包

    常见的命令包括`git init`用于初始化新的Git仓库,`git clone`用于复制远程仓库到本地,`git add`用于将文件添加到暂存区,`git commit`用于提交更改,`git push`用于将本地更改推送到远程仓库,以及`git pull`用于...

    Git 和 GitDesktop For Windows

    Git是世界上最流行的分布式版本控制系统,尤其在软件开发领域被广泛使用。它允许开发者跟踪代码的修改历史,协作开发,以及方便地回滚到之前的代码状态。Git-2.19-for-windows.exe是Git的最新Windows版安装包,包含...

    Keil配置Git教程

    标题“Keil配置Git教程”指明了本文主要讨论的内容是关于如何在Keil开发环境中配置Git以进行软件项目的版本控制管理。Keil是一款常用于嵌入式系统开发的集成开发环境(IDE),而Git则是一种流行的分布式版本控制系统,...

    Git离线rpm安装包

    Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,协同开发项目。在某些没有网络连接或者网络环境受限的场景下,离线安装Git变得尤为重要。本篇将详细介绍如何使用提供的Git离线rpm安装包在...

    git免安装版.zip

    在Git Bash中,你可以执行常见的Git操作,如`git clone`(克隆远程仓库)、`git add`(将更改添加到暂存区)、`git commit`(保存更改至本地仓库)以及`git push`(将本地更改推送到远程仓库)。这个免安装版的Git ...

    git 2.20 x64

    Git是分布式版本控制系统,它以其高效、灵活和强大的特性在软件开发领域中广泛使用。Git 2.20 x64 版本是官方发布的64位安装包,旨在为Windows用户提供最新的Git功能。这个压缩包包含的是Git-2.20.1-64-bit.exe,这...

Global site tag (gtag.js) - Google Analytics