问题标签 [gitattributes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3295 浏览

git - git line endings : renormalize 似乎没有检出正确的行尾

我决定通过一个文件以正确的方式设置行尾.gitattributes,例如此处详述- 所以我将 core.autocrlf 设置为 false 并创建并提交了一个 .gitattributes 文件:

然后我按照这里的建议发出git rm --cached -r .然后git reset --hard(也尝试过) 。现在所有文件都有 LF 行结尾。不应该是 CRLF 吗?我想念什么?我在 Windows 7 上,.git checkout HEADgit version 1.8.0.msysgit.0

谢谢

0 投票
2 回答
5248 浏览

c# - 如何阻止 git 在结帐时破坏编码

我最近使用以下设置向 ac# 存储库添加了一个 .gitattributes 文件:

按照 github 的这些说明重新规范了存储库,它似乎工作正常。

我遇到的问题是,当我签出一些文件(不是全部)时,我看到许多奇怪的字符与实际代码混合在一起。lf->crlf当 git 通过上面 .gitattributes 文件指定的转换运行文件时,似乎会发生这种情况。

根据记事本++,弄乱的文件正在使用UCS-2 Little EndianUCS-2 Big Endian编码。似乎工作正常的文件要么是要么ANSI编码UTF-8

作为参考,我的 git 版本是1.8.0.msysgit.0,我的操作系统是 Windows 8。

有什么想法可以解决这个问题吗?更改文件的编码就足够了吗?

0 投票
2 回答
6607 浏览

git - .gitattributes with core.autocrlf unset

我的存储库中有一个 .gitattributes 文件,看起来像这样

我在存储库、全局和系统设置中取消了 core.autocrlf。根据 gitattributes 的文档,我的理解是,存储库中名称以 .txt 结尾的所有文件都应使用本机行结尾签出。不过,我看到的是 .txt 文件总是有 LF 作为行尾,即使在 Windows 上也是如此。鉴于此配置,为什么 Windows 上的行结尾不是 CRLF?

0 投票
1 回答
1284 浏览

git - 对 git 中的相同文件应用多个过滤器

我正在使用 Git 对本地文件进行版本控制,最终必须将其签入另一个版本控制系统。现在我遇到了大多数 C 代码文件的一些问题:

  1. 他们的标题注释中都有自动版本历史记录
  2. 大多数文件都被 EasyCode 或 EasyCase 注释弄得乱七八糟

我现在只是创建了两个 git 过滤器“History”和“EasyTool”来清理代码,然后再签入 Git。如何使用这两个过滤器过滤所有 C 和 H 文件?

多次指定命令不起作用,并且过滤器命令的串联也不起作用(或者我至少没有找到正确的语法)。

这是我的第一次尝试:

然后我尝试了这样的事情:

0 投票
2 回答
66 浏览

git - Github 同一文件的不同版本:一个用于开发,一个用于 repo

我正在创作一个 PHP CMS,需要安装才能工作。
安装会生成一个配置文件。

在本地主机上,我使用已安装的版本(带有特定的配置文件),
但是从 github 下载 CMS 的用户将有一个空的配置文件(= 卸载版本)。

我想要什么: -本地主机上的
特定配置文件(config.php)(要处理)
-github上的空配置文件(config.php)(要下载)

我遇到过这篇文章:git 可以自动在空格和制表符之间切换吗?
不确定这是否真的是我要找的。
瞧。

0 投票
2 回答
378 浏览

windows - git EOL 转换了相反的方式?(尽管有.gitattributes)

我在 Windows 7 上工作,为了防止 EOL 问题,我.gitattributes按以下方式设置了一个文件(如github 帮助中所述):

但是现在,当我提交一个js只有LF行尾的文件时,我会收到警告:

好吧,这听起来就像我将CRLF在我的存储库和LF我的工作目录中一样,即使它应该(并且我希望它是)完全相反。-file的js行尾仍在LF提交之后。

我是在阅读错误的警告还是.gitattributes以错误的方式设置?谢谢!

ps 我的全局 git 配置有autocrlf = true,但是由于.gitattributes文件的原因,在提交时不应该影响 EOL 转换

ppsjs文件在子目录中

0 投票
2 回答
681 浏览

git - 是否可以在 .gitattributes 中将特定文件或特定文件夹的内容标记为二进制文件?

在我们的 repo 中,我们有一个js非常可读的文件,但我们不需要任何关于其中差异的报告。它只会使屏幕混乱。所以我们希望它被认为是二进制的。这就是我们所做的*.min.js,每个人都对结果感到满意。在.gitattributes我们得到:*.js text eol=lf行中,现在我们需要以某种方式为特定js文件覆盖它。我试过了:

我什至尝试将.gitattributes文件放在文件bin/夹本身(我们保存所有编译文件的位置)下,内容如下:

但这似乎不起作用。我猜应该是简单的事情吗?

0 投票
7 回答
48989 浏览

git - 如何规范 Git 中的工作树行结尾?

我克隆了一个行尾不一致的存储库。我添加了一个.gitattributes设置我想要规范化的文件的文本属性。现在,当我提交更改时,我会收到以下消息:

如何让 git 为我规范我的文件工作副本?最好我希望 git 标准化整个工作树。

0 投票
1 回答
744 浏览

git - .gitattributes 中的大量 LF

我已经阅读了很多关于 git 中的 CRLF 和 LF 问题的帖子,我会问你是否认为这个 .gitattributes 配置正确:

在我的仓库中,我们有很多在 linux 环境中运行的 sripts(一些带有 sh 扩展名,一些没有扩展名......),因此在默认的 git 配置和 Windows 环境中,这些脚本在结帐时具有 CRLF 并且它失败了。为此,我在所有文件中引入了 LF 行结尾。我认为没有问题,因为 git 区分二进制文件和文本文件。对于其余文件:“.php”、“.c”、“.js”,所有窗口开发人员在显示这些文件时都应该没有问题,因为他们应该有“好的 ide 或文本编辑器”。你认为 .gitattributes 配置好吗?

0 投票
2 回答
912 浏览

git - Git 服务器挂钩以静默忽略对特定文件的更改

在中央 git 存储库中,当特定文件被推送到存储库时,我需要忽略它们的更改。我不想拒绝(失败)整个推送,而只是忽略这些更改。有没有我可以使用的 git hook 来过滤掉一些变化?

我考虑过使用过滤器,但我不确定它们是否会在中央回购中使用,因为它是“裸露的”,例如,没有工作副本。

详细信息:在与此类似的场景中,数十名开发人员正在推送对这些文件的更改。我尝试在中央存储库上使用git update-index --assume-unchanged,但它会被“流浪”开发人员所做的每次推送重置,然后在他们拉出时传播给其他开发人员。我不能一次更改所有开发人员的存储库。我想在中央存储库上进行一次更改,然后忽略对这些文件的更改。