问题标签 [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.
c# - 如何阻止 git 在结帐时破坏编码
我最近使用以下设置向 ac# 存储库添加了一个 .gitattributes 文件:
我按照 github 的这些说明重新规范了存储库,它似乎工作正常。
我遇到的问题是,当我签出一些文件(不是全部)时,我看到许多奇怪的字符与实际代码混合在一起。lf->crlf
当 git 通过上面 .gitattributes 文件指定的转换运行文件时,似乎会发生这种情况。
根据记事本++,弄乱的文件正在使用UCS-2 Little Endian
或UCS-2 Big Endian
编码。似乎工作正常的文件要么是要么ANSI
编码UTF-8
。
作为参考,我的 git 版本是1.8.0.msysgit.0
,我的操作系统是 Windows 8。
有什么想法可以解决这个问题吗?更改文件的编码就足够了吗?
git - .gitattributes with core.autocrlf unset
我的存储库中有一个 .gitattributes 文件,看起来像这样
我在存储库、全局和系统设置中取消了 core.autocrlf。根据 gitattributes 的文档,我的理解是,存储库中名称以 .txt 结尾的所有文件都应使用本机行结尾签出。不过,我看到的是 .txt 文件总是有 LF 作为行尾,即使在 Windows 上也是如此。鉴于此配置,为什么 Windows 上的行结尾不是 CRLF?
git - 对 git 中的相同文件应用多个过滤器
我正在使用 Git 对本地文件进行版本控制,最终必须将其签入另一个版本控制系统。现在我遇到了大多数 C 代码文件的一些问题:
- 他们的标题注释中都有自动版本历史记录
- 大多数文件都被 EasyCode 或 EasyCase 注释弄得乱七八糟
我现在只是创建了两个 git 过滤器“History”和“EasyTool”来清理代码,然后再签入 Git。如何使用这两个过滤器过滤所有 C 和 H 文件?
多次指定命令不起作用,并且过滤器命令的串联也不起作用(或者我至少没有找到正确的语法)。
这是我的第一次尝试:
然后我尝试了这样的事情:
git - Github 同一文件的不同版本:一个用于开发,一个用于 repo
我正在创作一个 PHP CMS,需要安装才能工作。
安装会生成一个配置文件。
在本地主机上,我使用已安装的版本(带有特定的配置文件),
但是从 github 下载 CMS 的用户将有一个空的配置文件(= 卸载版本)。
我想要什么: -本地主机上的
特定配置文件(config.php
)(要处理)
-github上的空配置文件(config.php
)(要下载)
我遇到过这篇文章:git 可以自动在空格和制表符之间切换吗?
不确定这是否真的是我要找的。
瞧。
windows - git EOL 转换了相反的方式?(尽管有.gitattributes)
我在 Windows 7 上工作,为了防止 EOL 问题,我.gitattributes
按以下方式设置了一个文件(如github 帮助中所述):
但是现在,当我提交一个js
只有LF
行尾的文件时,我会收到警告:
好吧,这听起来就像我将CRLF
在我的存储库和LF
我的工作目录中一样,即使它应该(并且我希望它是)完全相反。-file的js
行尾仍在LF
提交之后。
我是在阅读错误的警告还是.gitattributes
以错误的方式设置?谢谢!
ps 我的全局 git 配置有autocrlf = true
,但是由于.gitattributes
文件的原因,在提交时不应该影响 EOL 转换
ppsjs
文件在子目录中
git - 是否可以在 .gitattributes 中将特定文件或特定文件夹的内容标记为二进制文件?
在我们的 repo 中,我们有一个js
非常可读的文件,但我们不需要任何关于其中差异的报告。它只会使屏幕混乱。所以我们希望它被认为是二进制的。这就是我们所做的*.min.js
,每个人都对结果感到满意。在.gitattributes
我们得到:*.js text eol=lf
行中,现在我们需要以某种方式为特定js
文件覆盖它。我试过了:
我什至尝试将.gitattributes
文件放在文件bin/
夹本身(我们保存所有编译文件的位置)下,内容如下:
但这似乎不起作用。我猜应该是简单的事情吗?
git - 如何规范 Git 中的工作树行结尾?
我克隆了一个行尾不一致的存储库。我添加了一个.gitattributes
设置我想要规范化的文件的文本属性。现在,当我提交更改时,我会收到以下消息:
如何让 git 为我规范我的文件工作副本?最好我希望 git 标准化整个工作树。
git - .gitattributes 中的大量 LF
我已经阅读了很多关于 git 中的 CRLF 和 LF 问题的帖子,我会问你是否认为这个 .gitattributes 配置正确:
在我的仓库中,我们有很多在 linux 环境中运行的 sripts(一些带有 sh 扩展名,一些没有扩展名......),因此在默认的 git 配置和 Windows 环境中,这些脚本在结帐时具有 CRLF 并且它失败了。为此,我在所有文件中引入了 LF 行结尾。我认为没有问题,因为 git 区分二进制文件和文本文件。对于其余文件:“.php”、“.c”、“.js”,所有窗口开发人员在显示这些文件时都应该没有问题,因为他们应该有“好的 ide 或文本编辑器”。你认为 .gitattributes 配置好吗?
git - Git 服务器挂钩以静默忽略对特定文件的更改
在中央 git 存储库中,当特定文件被推送到存储库时,我需要忽略它们的更改。我不想拒绝(失败)整个推送,而只是忽略这些更改。有没有我可以使用的 git hook 来过滤掉一些变化?
我考虑过使用过滤器,但我不确定它们是否会在中央回购中使用,因为它是“裸露的”,例如,没有工作副本。
详细信息:在与此类似的场景中,数十名开发人员正在推送对这些文件的更改。我尝试在中央存储库上使用git update-index --assume-unchanged,但它会被“流浪”开发人员所做的每次推送重置,然后在他们拉出时传播给其他开发人员。我不能一次更改所有开发人员的存储库。我想在中央存储库上进行一次更改,然后忽略对这些文件的更改。