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

python - Is it possible to have all "git diff" commands use the "Python diff", in all git projects?

When including the line

in a local .gitattributes file, git diff produces nice labels for the different diff hunks of Python files (with the name of the function where the changes are, etc.).

Is is possible to ask git to use this diff mode for all Python files across all git projects? I tried to set a global ~/.gitattributes, but it is not used by local git repositories. Is there a more convenient method than initializing each new git project with a ln -s ~/.gitattributes?

0 投票
1 回答
552 浏览

ruby - 执行过滤器时如何通过gitattributes确定要过滤的文件?

我在 git 存储库中有一堆 ruby​​ 脚本,似乎很难强制人们编写正确缩进的代码。

我还有一个小的 ruby​​ 脚本,可以格式化为特定标准的代码,现在我想将它作为过滤器脚本运行,这样垃圾就不会被提交到存储库中。

在 git 方面做了肮脏的把戏,但是 ruby​​ 脚本应该处理受影响的文件:

我如何/从哪里查找这些?

0 投票
7 回答
27867 浏览

git - 如何让 git 忽略对文件的未来修订?

我创建了一个包含在 git 存储库中的文件的默认版本。重要的是,当有人克隆存储库时,他们会获得此文件的副本。但是,我想设置 git 以便稍后忽略对此文件的更改。 .gitignore仅适用于未跟踪的文件。

我的动机是该文件包含特定于机器的信息。我想提供默认值,同时允许人们进行不会被推回原始存储库的本地更改,当我们拉新更改时会产生合并冲突。

我们通常很懒惰并且经常使用git add .,所以我很确定如果我不能告诉 git 忽略这个文件,对它的更改最终会被提交和推送。

总结一下,

  1. 我想创建一个文件,将其称为default_values.txt添加到我的 git 存储库并在有人克隆该存储库时包含在内。
  2. git add .不应添加default_values.txt到提交中。
  3. 此行为应传递给存储库的任何克隆。
0 投票
1 回答
6378 浏览

git - 如何设置 gitattributes 来过滤文件的一部分?

我正在使用 Visual Studio 2010 和 git (git svn)。我的同事使用带有 Ankhsvn 插件的纯 svn。

当我尝试在启用 Git 源代码控制提供程序的情况下打开文件时,Visual Studion 抱怨:

源代码控制插件
活动的解决方案或项目由与您选择的不同的源代码控制插件控制。如果您更改源代码管理插件,活动的解决方案或项目将被关闭。
你想继续吗?

当我单击是时,将打开一个空解决方案。当我单击否时,解决方案项目旁边的所有 git 特定图标都丢失了(我仍然在解决方案资源管理器中看到分支名称),并且每次打开解决方案时都会提示我源代码管理插件。

当我克隆我的同事创建的 svn 存储库时,解决方案 sln 文件包含以下内容

GlobalSection(SubversionScc) = preSolution
Svn-Managed = True Manager = AnkhSVN - Visual Studio EndGlobalSection
的 Subversion 支持

我已删除此部分,现在解决方案在激活 Git 源代码控制提供程序时打开没有问题,但在您选择 Ankhsvn 提供程序时会抱怨 - 情况正好相反。

我想告诉 git 在拉取(git svn fetch)期间删除 .sln 文件的这一部分,并在我提交时添加它(git svn dcommit)。这是否可以通过 gitattributes 以及如何做到这一点?

编辑:

我现在添加了

解决方案名称.sln 过滤器=ankhsvn

到 $GIT_DIR/info/attributes

到我的 .git/config 文件。

ankhsvnsection 包含被涂抹操作删除的部分。我好像什么都没做?!

0 投票
1 回答
6810 浏览

git - 这个 git smudge/clean 过滤器有什么问题?

我想在我的 git 存储库中应用此过滤器,以在结帐期间从解决方案文件中删除一个部分,并在提交期间添加此部分。

这是我要删除或添加的部分:

我已经在我的 .git/info/attributes 中设置了这个过滤器

*.sln 过滤器=SourceControlProvider

我已将这些命令添加到我的配置中

好吧,它不起作用。我做错了什么?

ankhsvnsection 是一个文本文件,与 *.sln 文件位于同一目录中

0 投票
1 回答
858 浏览

git - Git、Kohana 和 PHPFog 工作流程

Kohana 3 包括环境常量,特别是 PRODUCTION、STAGING、TESTING & DEVELOPMENT(在此讨论)。

建议您在 .htaccess 文件中使用 SetEnv 设置这些常量(在此处讨论)。

例如:

生产.htaccess:

开发.htaccess:

我一直在寻找在 Git 中管理不同版本的 .htaccess 文件的方法。我查看了分支,但VonC提交了一个很好的答案,表明它可能不是最好的方法。

VonC 进一步建议将 .gitattributes 过滤器驱动程序作为解决方案(Pro Git解释)。

我喜欢使用 .gitattributes 过滤器驱动程序的想法,但我一直在努力寻找我能理解的“如何”示例(Pro Git 示例比我略高)。

我正在使用PHPFog进行部署。它们要求您进行克隆和推送以部署您的应用程序。

所以这是我的问题:

  • 这是在 Kohana 中设置环境变量的正确方法吗?
  • 我可以将 .gitattributes 过滤器驱动程序与 PHPFog 一起使用吗?
  • 如何创建过滤器以将环境变量添加到 .htaccess 文件?
0 投票
7 回答
17672 浏览

git - git忽略.gitattributes模式

我有一个这样的目录结构:


编辑:为了进一步阐明上述内容,目录有一个尾随,子目录/在目录下缩进,所以blahmore_blah是目录,但Rakefile.gitattributes是文件,但所有四个都是Site.


git-archive从这样的Site目录运行:

但无论我在 .gitattributes 中放入什么模式,生成的存档总是包含 .gitattributes Rakefile。我试过了:

  • 耙文件
  • 站点/Rakefile
  • */耙文件
  • ./耙文件
  • 耙文件*
  • *

他们都没有像我预期的那样工作。有人愿意指出对我来说明显但不明显的解决方案吗?任何帮助深表感谢。


我很抱歉不清楚。

  • 我说我使用的模式似乎不起作用,但我在模式之后使用了“export-ignore”。
  • Rakefile不是目录,只是文件
  • .gitattributes 文件成功地从存档中删除了其他模式,Rakefile它不是唯一使用的模式,而是唯一一个不起作用的模式。无论我是单独使用它还是使用其他模式,以及在文件中的任何位置,它都不起作用。这不是真的,因为重命名了某些文件但没有使用重命名归档提交,我似乎得到了一些好的结果。我的错!:S

这是我的.gitattributes(坐在目录中Site

0 投票
1 回答
297 浏览

git - 由于 gitattributes eol 设置覆盖未暂存的提交

由于 .gitattributes,我有一个在克隆时会自动更改 eol 的分叉。这在上游是固定的。我想将上游合并到我的主人;但是,我无法摆脱这些未分级的更改。我不能重置,也不能把它们藏起来,除非我错过了什么。如何将上游/主合并到主覆盖这些本地未暂存的“更改”?

0 投票
3 回答
1422 浏览

git - 钩还是不钩 - git

我们定制的 IDE 输出带有编码的 XML 文件,使它们看起来像二进制文件。这些文件的差异和合并失败。

我们可以使用命令创建这些文件的 ASCII 版本tr。我想达到这些文件在提交之前总是自动转换为 ascii 的状态。

我拿起了我的版本控制与 Git的副本,它全心全意地警告我不要使用钩子,除非我真的需要。

我应该为此目的使用钩子吗?或者我可以做其他事情来确保文件在提交之前总是被转换吗?

带有 msysgit 1.7.4 的 Windows XP

--= 更新 =-

感谢大家的帮助和耐心。看着这个问题,我尝试了以下方法,但它不起作用:

此配置更改后文件保持不变。即使我删除并重新结帐。

tr配置为 clean 任务的命令确实独立工作。证明:

谁能看到我的配置有什么问题?

0 投票
2 回答
10133 浏览

git - 如何使用 gitattributes 将子目录中的所有文件设置为使用特定的 eol?

我一直在尝试将特定文件设置为始终使用 lf 而不是 crlf 而不管本地系统上的 autocrlf 。

我尝试在项目的根目录下创建一个 .gitattributes ,它只包含SquishIt.Tests/js/*.js eol=lf并且我也尝试过.gitattributes SquishIt.Tests/js/ eol=lf。我将这两个尝试都推送到了我的遥控器,然后尝试在本地克隆它两次。/js/ 下的文件在这两种情况下总是显示为 CR+LF,因为 autocrlf 对我来说是全局启用的。

我在一台 Windows 机器上,以防万一不清楚。我试图实现的目标是否可能?