问题标签 [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 -[attribute]=[value]:为什么要应用“-”并赋值?
gitattributes
在过去几天阅读它们之后,我了解大多数选项。然而,在gitattributes 中有一种配置类型可以解决你所有的问题GitHub gist (GistHub?) 我不太明白。第三组属性中的几行类似于
我自己理解这条线的大部分部分,但在一起我不确定这意味着什么。意思是“*.vb
将此设置用于具有.vb
扩展名的文件”。同时,-text
表示“为带有扩展名的文件取消设置text
属性,或将其设置为false .vb
”和表示“为带有扩展名的文件=auto
设置属性-text
值”。auto
.vb
这就是我的困惑所在:如何在设置的同时取消设置?您如何同时将某些内容设置为两个值(此处false
和auto
)?这是一些秘密的忍者方法来增强你的能量gitattributes
吗?
git - 让它就好像我一直都有 .gitattributes
我有一个相当新的存储库,其中包含 12 个提交,所有这些都没有行尾规范化。
没有其他人在使用存储库,我想重写历史记录,以便从一开始就应用行尾规范化(并避免中间的提交更改行尾)。
这可以用git rebase -i
其他方法完成吗?我猜只是重新排序并提交.gitattributes
到开头不会解决它。
git - .gitattributes 涂抹和清洁过滤器作为存储库的一部分
我的 git 存储库中有许多模板文件,它们以不同的速率变化。这些然后用于生成 HTML 页面。如果有人报告了问题,我希望他们能够告诉我哪个版本的模板文件有问题。目前,我在更改日期时手动将日期输入到文件中。或者,好吧,我尝试。我大部分时间都忘记了。
至少在理论上,我应该能够使用 git smudge 和 clean 过滤器来修复文件并自动插入上次更新的日期。这会很棒。
除了我在一台机器上开发,当我准备好时,我推/拉到另一台机器。
如何让污迹和清洁过滤器出现在另一台机器上?我不想在路径中添加奇怪的脚本;这只需要这个存储库,所以我想让它完全独立。网上的所有内容都说“将此过滤器定义添加到您的 ~/.gitconfig,然后将这些脚本添加到您的路径,然后设置存储库 .gitattributes 文件”。我想要它,这样如果我去一台新计算机并克隆存储库,所有的清洁和涂抹都会自动配置。
有人做过吗?
git - 如何在 git 中与 merge=union 自动合并后查看冲突
我有*.csproj merge=union
,.gitattributes
我很高兴 git 如何管理与它的合并。但在其他时候,git 合并 xml 文件的工作会做得很差,例如*.csproj
(因为我听说缺少适当的 xml 合并驱动程序)并且我无法再加载 VS 项目。
所以我git reset --hard HEAD^
再试一次,git merge --no-commit --no-ff
这样我就可以在提交合并之前偷偷摸摸。
例如:
此时README
包含:
然后我尝试查看 的冲突版本README
,因此我可以深入了解冲突并手动解决:
我期待类似的东西:
但我仍然得到:
请问我在这里缺少什么?
谢谢你。
git - 我将如何保护某个文件不被 git 过滤器处理?
假设我有一个 git 过滤器,它对我项目中使用的 XML 文件进行了一些清理。配置是这样完成的:
filter 在该步骤中所做的一件事clean
是检查文件末尾是否有空行,如果没有,则添加一个。过滤器的smudge
部分什么都不做。
现在,生成了这个唯一的 XML 文件,最后没有空行。该文件不应由clear-xml
过滤器处理。
我将如何解决这个问题?
git - .gitattributes 中的合并策略不起作用
我希望 git 在此文件上永远不会发生冲突:
test/file.txt
合并时。我在 .gitattributes test/file.txt merge=theirs 中尝试了以下内容
但我需要定义theirs
合并策略。我在网上看到我可以ours
通过执行这个来定义策略:
git config --global merge.theirs.driver true
它将驱动程序设置为true(bash true),这将保留本地文件而不是新文件。
我想做相反的事情。如何定义theirs
驱动程序以获取新副本并在合并时丢弃本地副本(在 git pull 之后)?
git - 我应该把我的全局“gitattributes”文件放在哪里?
我收集有(尽管缺乏文档)一种全局设置Git 属性的方法;但我不清楚在哪里放置必要的gitattributes
文件。说明说他们属于
但在哪里$(prefix)
?特别是,对于 OS X(带有 Git /usr/local/git/bin/git
),它会在哪里?交替(或另外)会~/.gitattributes
起作用吗?
git - 忽略 .gitattributes 文件中的 text=auto
我检查了一个分支foo
,现在我想切换到分支bar
。
有人有一个.gitattributes
文件,foo
其中包括
所有“更改”都是换行符更改。
我可以删除文件,切换分支,然后将其添加回来。
这是最好(最快/最少打字)的方式吗?
编辑:要清楚,我只想切换分支。我只是在阅读回购。除了工作树之外,我不想更改任何内容。但我不能。
git - diff 和 diff=astextplain 有什么区别?
有人能帮我吗。我正在使用 Git (GitHub) 并试图决定*.sql
在 gitattributes 中将我的文件设置为什么。我见过人们使用
有人建议我将其设置为第二个选项,但我只是想知道它与其他两个选项有什么区别。
git - 使用 .gitattributes 在所有平台上的 git repo 中强制 LF eol
我有一个远程仓库,正在被克隆并在 windows 和 mac 中工作。我希望每当有人拉这个 repo 时,它应该在任何平台上自动使用 LF eol。
每当 Windows Build Server 拉取 repo 时,我的主要问题就会出现。我无法控制在服务器上执行任何配置命令,所以我只想使用 .gitattributes 文件来解决这个问题。LF 的原因是有一些构建工具要求源文件是 LF eol。
这个文件是说所有文本文件都将使用 LF eol 签出,同时跳过 jpg 和 png 文件?如果不是,这个文件会是什么样子来完成上述任务?
.git 属性文件