将项目转换为我的editorconfig

时间:2017-06-13 04:39:17

标签: javascript git editor

DISCLAIMER: Please, do not start "singlequotes masterrace", "tabs are over spaces"-related shitstorms. Thanks :)

我想知道如何做到这一点:

  1. 项目使用4个空格和双引号
  2. 我使用2个空格和单引号
  3. 导入项目
  4. 每个打开的文件都翻译为2个空格和单引号
  5. 将项目另存为4个空格和双引号
  6. 将其作为4个空格和双引号文件提交
  7. 我是Web开发人员,JS ES6(没有流程),JSX(反应),主要使用VS代码。 这不是我可以坚持项目规则的意思。但这会节省我很多时间。

    感谢您的建议!

1 个答案:

答案 0 :(得分:1)

您可以使用Git smudge/clean filters执行此操作。先决条件是您有一个工具可以将4个空格和双引号转换为2个空格和单引号,反之亦然。假设您有这两个,我们称之为4to2converter和2to4converter,请执行以下操作:

通过添加如下所示的行来编辑(或创建).gitattributes文件:

*.js filter=convert

这告诉git它应该对所有.js文件应用convert过滤器。您也可以包含其他文件类型。

然后通过调整git config来定义转换过滤器的功能:

$ git config filter.convert.smudge 2to4converter
$ git config filter.convert.clean 4to2converter

现在发生的是,每次提交.js文件时,文件首先运行2to4converter,每次结账时,首先运行4to2converter。

最后,首先确保您没有任何未提交的工作,然后运行:

$ git checkout HEAD -- **

这会强制检查所有文件,并应用新定义的过滤器。