问题标签 [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.
git - .gitattributes 和规范化行尾:更改的文件仍然存在
我对 .gitattributes 行为感到困惑。
在有关规范化行尾的文章之后,我完成了以下步骤:
- 创建 .gitattiributes
* text=auto
- 在我的开发 Windows 机器上,我有
core.autocrlf = true
- 在我的构建 Linux 机器上,我有
core.autocrlf = input
- 我在运行的开发机器上执行了行尾规范化
git rm --cached -r . && git reset --hard && git add . && git commit -m "normalized" && git push develop origin/develop
。
根据我的想法,最后一步应该最终将所有带有 LF 结尾的文本文件推送到存储库,并且从那一刻起,我所有的提交和 chechout 都不会受到任何平台上的行尾冲突的困扰。
但是,当我在我的构建 Linux机器上克隆了 repo 时,我立即得到了一堆标记为已更改的文件。如果在构建机器上的工作副本中我将 .gitattributes 行更改为# * text=auto
(注释),一切都会好起来的。
为什么会这样,我做错了什么?
git - 阻止文件被合并到 Git 中的另一个分支
我的 git 存储库中有两个分支,一个被推送到 PROD 服务器,一个用于 DEV(调试设置、本地主机上的 Web 服务器等)。PROD 服务器上的 apache 实例在 conf 文件中的 Directory 指令中包含所有 RewriteRules 等,而在 DEV 分支中,我将它们放在 .htaccess 文件中。
我的问题是,当我想合并两个分支并推送更改时,如何将 .htaccess 文件保留在 DEV 分支中,但阻止它们合并到生产分支?
编辑:我在合并时使用 .gitattributes 忽略特定的 conf 文件,这只是我需要帮助的 .htaccess 文件
git - 像 gitattribute 的 export-add 之类的东西?
如何.gitignore
通过在生成存档时添加它来覆盖中的排除文件夹git-archive
?
有export-ignore
,但找不到类似export-add
`export-include` 的东西。
有任何想法吗?
windows - git:在变基期间自动与联合策略合并
我想git rebase
通过保留所有添加的行来自动合并 .csproj 文件:
有两个问题。首先,这会失败并出现二进制警告:
第二个问题是在我的另一个 repo 上,它正确地确定了文件是文本(不知道为什么),但仍然无法合并。
git - 如果文件与 gitattributes 中的规则不匹配,则中止提交/添加
基本上标题说明了一切。
如果由于某种原因,我当前存储库中的文件与 gitattributes 文件中的任何模式都不匹配,它应该中止添加/提交文件。
我想用它来确保我们完全不依赖 core.eol、core.autocrlf 和 core.safecrlf。
gitattributes上的联机帮助页对此没有任何说明。到目前为止,我也没有发现任何其他关于 gitattributes 的主题。
git - “openssl”] 不是有效的属性名称:.git/info/attributes:5
.git/info/attributes
在文件中设置属性时出现以下错误。
文件内容:
更新:
git - gitattributes 中的“!eol”有什么作用?
最近我在 .gitattributes 文件中发现了以下条目:
"* text=auto !eol"
做什么!eol
?
git - `.gitattributes` 文件中 `text=auto` 的用途是什么?
大多数.gitattributes
文件都有* text=auto
. 该文件的目的是什么text=auto
?
linux - 使用 `.gitattributes` 文件修复 Git 存储库中的行尾
需要解决的问题:
我有一个包含单个.md
文件的存储库,其中包含我正在写的一篇文章。
我从几台不同的计算机编辑文件,一台运行 Linux,另一台运行 Windows。
现在在 Windows 中查看git diff
我已经进行了一些更改的 a ,我可以看到我的文章显示为很好地分隔的文本行......所有即将被删除并被一个长行替换,其中段落由^M
s 分隔。
我知道这^M
指的是 Windows 的 CLRF 行尾。
结果diff
表明我在 Linux 中启动了该文件(完全有可能;我不记得了),然后将其保存在 Windows 中,并且所有行尾都已被替换。
我希望能够在两个操作系统中打开文件,并按应有的diff
方式显示行,并获得显示换行符(而不是^M
占位符)并且仅更改实际内容的结果。
我试过的:
我已经完成了一些背景阅读,阅读了关于行尾和 Git 设置的精彩概述,甚至尝试按照另一个 Stack Overflow 问题中的命令进行操作。
.gitattributes
就目前而言,我在存储库的顶层有一个文件,我已将其提交给存储库本身。它只包含两行:
我试过这个(来源):
而这个(来源):
在第二种情况下,最后一个命令告诉我没有什么可以提交的。(我也不喜欢改变的想法,core.autoclrf
因为我试图纯粹通过 来做到这一点.gitattributes
,但我很沮丧。)
很高兴回答问题并提供更多详细信息。有什么想法我可能会出错吗?我错过了一步吗?
git - git存档:导出忽略,忽略目录
我有一个 git 存储库.gitattributes
:
但是当我制作时:
在archive_dir
目录中,我得到目录hooks
和tests
:
为什么?
我的 git 版本是 1.7.9。