问题标签 [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 投票
1 回答
1343 浏览

git - 对乳胶文件使用 git 的 word-diff

我希望git diff输出所有文件的常规差异,* .tex 除外。对于 *.tex 文件,我想查看 .tex 文件的输出git diff --word-diff

我在玩.gitattributesand .gitconfig,但我得到的最远的结果是获得一个 .tex 文件的部分显示,然后是崩溃。

有可能得到这种行为吗?

我的.gitattributes

.gitconfig

word-diff.sh

0 投票
1 回答
4019 浏览

git - gitattributes 未正确设置合并驱动程序

我有以下目录结构:

我的项目使用两个主要分支,master 和 staging,每个分支都跟踪一个不同的远程(生产和登台 heroku 应用程序)。

这个想法是,staging 分支随着新功能向前发展,它们被推送到 staging 远程并在远程进行测试,然后 master 被快速转发以匹配 staging 并推送到生产远程。

这就是我想做的:自由合并这两个分支,同时保持它们的版本braintree.rbproduction.rb分开。

为了做到这一点,这是我输入的内容.gitattributes(根据 ProGit 书):

该文件存在于两个分支中。

我遇到的问题是这似乎对任何事情都没有任何影响。每当我在两者之间合并时,文件都会被更改,我必须再次更改它们。

我有一种感觉,我错过了一些非常明显的东西,但到目前为止它正在逃避我。我知道这里的其他答案涉及创建自定义合并驱动程序,但 ProGit 书没有提到这个过程,似乎暗示ours驱动程序是内置的(我已经在手册页中看到它,所以我比较确定)。我唯一能想到的另一件事是我以某种方式放.gitattributes错了地方或弄乱了它的内容,但我找不到太多关于这方面的信息。我尝试将其移动到与文件相同的目录,但无济于事。

In case it's of any help, I'm running git version 1.7.2 on OS X. Any help would be much appreciated.

0 投票
1 回答
20813 浏览

git - 如何在所有克隆/机器上禁用 Git 行尾(CRLF 到 LF)?

其他 帖子中可以看出,Git 的行尾标准化有其优点和缺点。我有一个特定的仅限 Windows 的项目,我认为最好的办法是完全禁用行尾标准化。也就是说,我想保留所有换行符(其中大部分是CRLF),而不是让 git 将它们标准化为LF-only 在幕后,并且我希望该更改影响所有机器上存储库的所有克隆。问题是最有效的方法。

大多数关于 Git 行尾规范化的讨论都是关于core.autocrlf,我可以通过设置core.autocrlf=false. 但是,这是一个 git-config 设置,我相信必须在每台机器上单独设置它。如果为真,那似乎很容易出错,特别是因为msysgit安装程序会引导用户设置core.autocrlf=true.

0 投票
1 回答
868 浏览

git - 将 .gitattributes 文件中的合并规则应用于 git rebase 调用

我之前已经阅读并应用了这个优秀答案中关于在 git 中为特定文件类型设置合并策略的说明。这非常适合合并。但是,当我执行 a 时git rebase,不会应用合并策略。

是否可以设置git rebase为应用类似的合并策略来自动解决某些冲突?

0 投票
1 回答
2865 浏览

git - .gitattributes 默认文件类型处理

我们已经为我们的项目存储库创建了一个文本和二进制文件类型列表,但我担心某些类型可能已经从该分类中滑落,或者将来有人可能会添加新文件类型而忘记将其添加到.gitattribute文件。

某些类别下不在此文件中的文件类型的默认行为是什么?可以将未提及的文件类型设置为“二进制”的默认行为吗?我认为,为了转换等目的而将文本文件真正视为文本,而不是仅仅因为配置中未提及其文件类型而将autocrlf其更改为文件的行尾,其问题较小rar

0 投票
1 回答
208 浏览

git - Git:如何从其 .gitattributes 标识中获取文件的特定版本?

我有一些 Python 脚本在结帐时有一个由 .gitattributes 设置的 $Id$ 字段。如何使用此 ident 字符串来检查(或以其他方式识别)文件的特定版本?

当客户使用脚本但不确定他们已签出哪个版本时,就会出现问题。最好只询问 $Id: ... $ 并查看他们使用的版本。

0 投票
2 回答
8239 浏览

windows - 适用于 Windows 用户的 Git CRLF

我知道有很多关于这个问题的文章。但我为此苦苦挣扎了几个星期,但没有成功。

我正在尝试使用github上描述的最佳实践。所以我添加了一个 .gitattributes 文件,例如它看起来像这样:

而且我已经标准化了所有文件的行尾。现在我有干净的工作副本,没有什么可提交的。但是现在,如果我在任何 Windows 文本编辑器中打开一个罚款并进行一些随机更改,保存文件,撤消该更改,我会看到该文件已更改。我知道这是因为文件现在具有 Windows 样式的行尾。但这是一种可怕的工作方式,文件没有任何变化,我希望 git 在没有git reset --hard. 在这种情况下你会推荐什么?

0 投票
1 回答
1482 浏览

xcode - . git属性不起作用

.gitattributes为了区分 XCode项目(纯文本),我有以下内容

但是当我比较时,仍然显示二进制文件

.gitattributes在同一级别的.git文件夹中

0 投票
1 回答
3278 浏览

windows - 添加 .gitattribute 后 git reset --hard 的问题 -- 不应该存在的本地更改

在合并我同事的捆绑包后,我观察到了 CRLF 问题。有时,带有 LF 的行会被混入源代码中,可能是那些被合并的行。因此,我们决定添加.gitattributes具有以下内容的文件(已删除注释):

现在我观察到奇怪的行为。我可以看到很多modified: ...不应该存在的文件(即未暂存的)。我试过git reset --hard了,但文件仍然具有相同的状态。我试图再次克隆存储库——结果相同。

我已经git version 1.7.11.msysgit.0Git-1.7.11-preview20120620.exe下载的当前版本的 Windows 安装。

我还应该尝试什么?

谢谢,彼得

0 投票
1 回答
482 浏览

svn - SVN 是否与 .gitattributes 等效?

背景:

我有两个 Unity3d 项目:

  • 第一个其 Unity 首选项设置为“混合资产”模式(一些文件是文本,一些是二进制文件)和
  • 第二个,其首选项设置为“强制文本”(大多数二进制文件都被翻译成YAML文本,因此几乎所有文件都可以diff编辑)。

为了将第一个项目的文件设置为文本/二进制文件,我们的~/.subversion/config文件已svn auto-props启用以及文件列表及其 svn 属性(*.cs文件设置为svn:eol-style=native*.unity文件设置为svn:mime-type=application/octet-stream,等等)。

问题:

由于我们的第二个项目现在支持所有文件的文本模式,我们需要使用一组不同的auto-props规则,因此*.unity文件现在被处理为svn:eol-style=native.

我看到git可以.gitattributes在每个项目(或每个目录)的基础上使用它,所以我们可以拥有这个功能。SVN 可以使用我们可以在我们的 repo 中共享的某种文件来做到这一点,这样每个提交的人都将使用相同的默认设置吗?