【问题标题】:Is there a way in GIT, to remove files changed from being committed if it has less than 2 characters changed?在 GIT 中有没有办法删除更改的文件,如果更改的字符少于 2 个?
【发布时间】:2016-07-21 19:20:56
【问题描述】:

我一直在做一个项目,并在一个文件夹中编辑了一堆文件。该文件夹位于我的本地,不受 GIT 监视。我通常将整个文件夹复制到 GIT 监视的另一台计算机中以推送到存储库。现在的问题是,由于显示了行尾和空格,一堆文件被显示为已更改,因为它正在从 Windows 复制到 linux 盒子。

我执行了以下命令:git diff --stat 以显示所有文件随着行数/字符的更改而更改。

如您所见,其中许多文件对它们进行了零更改。但是,它们仍然出现在我的 git status 修改部分。

由于我从未对这些文件进行任何更改,如何删除这些文件或将其恢复正常?

【问题讨论】:

标签: git diff git-diff


【解决方案1】:

我认为这些文件更有可能是由于模式更改而出现的。尝试在其中一个上运行git diff。你看到这样的东西了吗?

$ git diff query.viewport.js
diff --git a/query.viewport.js b/query.viewport.js
old mode 100644
new mode 100755

如果是这样,那么您也许可以通过以下方式解决此问题:

$ find modules/hotsite/ -type f -print0 | xargs -0 chmod -x

【讨论】:

    【解决方案2】:

    在您复制这些文件的目标 Git 存储库中检查您的配置。

    git config core.autocrlf
    

    确保将其设置为 false:git config core.autocrlf false (see more here)。

    然后仔细检查.gitattributes 文件的存在和内容。他们也可以通过core.eol directives 影响 eol。

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多