标签: gitattributes

添加注释/备注到.gitattributes

是否可以在.gitattributes文件中添加注释或备注?

如果是,注释行的确如何?

git comments gitattributes

17
推荐指数
2
解决办法
2076
查看次数

如何在git add之前自动调用脚本?

这是我的用例:我在我的Git仓库中提交了PNG和其他东西.我想对我想要提交的每个PNG应用一个特定的进程,这是我最终想要提交的进程的结果(可能修改的PNG).

一开始我想到了一个钩子(比如a pre-commit),但它有点奇怪,因为这个过程会改变文件,所以我需要重新添加它!根据我所读到的,没有pre-add钩子(或类似的东西).

可能是一个解决方案是创建一个git别名?但我不想改变 - 太多 - 人们的工作方式,我正在寻找一种平稳透明的方式.

如果你有线索......即使线索是改变我的过程想法.

git hook gitattributes

15
推荐指数
2
解决办法
8159
查看次数

在所有git项目中,是否可以让所有"git diff"命令使用"Python diff"?

包括该行时

*.py diff=python
Run Code Online (Sandbox Code Playgroud)

在本地.gitattributes文件中,git diff为不同的Python文件(具有更改所在的函数的名称等)生成漂亮的标签.

是否有可能要求git对所有 git项目中的所有 Python文件使用此diff模式?我尝试设置全局〜/ .gitattributes,但本地git存储库不使用它.有没有比使用?初始化每个新git项目更方便的方法?ln -s ~/.gitattributes

python git diff gitattributes

14
推荐指数
1
解决办法
862
查看次数

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

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

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

我在Windows机器上,以防万一不清楚.我试图实现的是什么?

git gitattributes

14
推荐指数
1
解决办法
5317
查看次数

我可以从 git-lfs 中排除一些文件吗?

我用一些图像文件创建了一个仓库。我有要从 lfs 中排除的 .gitignore 和 .gitattributes。所以我需要通过 lfs 跟踪所有文件,而不是 .gitignore 和 .gitattributes。

我正在使用 Sourcetree,我在 .gitattributes 中尝试过:

.gitignore      text
.gitattributes  text
*               filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

但是我所有的文件都被 lfs 跟踪。

git gitattributes atlassian-sourcetree git-lfs

14
推荐指数
3
解决办法
3233
查看次数

将gitattributes用于语言学家的例子

有没有具体的例子,为了通过Linguist属性检测GitHub中的错误语言?

资料来源:https://github.com/github/linguist

  • 语言学家的文档
  • 语言学家,语言
  • 语言学家,vendored

github gitattributes github-linguist

13
推荐指数
1
解决办法
3507
查看次数

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

在合并我的同事的捆绑后,我发现了CRLF问题.有时将带有LF的行混合到源中,可能是合并到的源.因此,我们决定添加.gitattributes包含以下内容的文件(删除注释):

*.cpp text
*.h text
*.inc text
*.cfg text
*.dic text

*.sln text eol=crlf
*.vcxproj text eol=crlf
*.filters text eol=crlf
*.user text eol=crlf
*.rc text eol=crlf
*.rc2 text eol=crlf
Run Code Online (Sandbox Code Playgroud)

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

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

我还应该尝试什么?

谢谢,彼得

windows git gitattributes

12
推荐指数
1
解决办法
2244
查看次数

.gitattributes涂抹和清理过滤器作为存储库的一部分

我的git存储库中有许多模板文件,它们以不同的速率变化.然后将它们用于生成HTML页面.如果有人报告问题,我希望他们能够告诉我哪个版本的模板文件存在问题.目前,我在更改文件时手动输入日期.或者,我试着.我大部分时间都忘记了.

至少在理论上,我应该能够使用git smudge和clean过滤器来修复文件并自动插入上次更新的日期.这会很棒.

除了我在一台机器上开发,当我准备好时,我推/拉到另一台机器.

如何在另一台机器上显示污迹和清洁过滤器?我不想在路径中添加奇怪的脚本; 这只是这个存储库所需要的,所以我想让它完全自包含.在线的一切都说"将此过滤器定义添加到〜/ .gitconfig,然后将这些脚本添加到您的路径,然后设置存储库.gitattributes文件".我想要它,这样如果我去一台新计算机并克隆存储库,所有的清理和涂抹都会自动配置.

有没有人这样做过?

git gitattributes

12
推荐指数
2
解决办法
1096
查看次数

diff和diff = astextplain有什么区别?

有人能帮我吗.我正在使用Git(GitHub)并尝试*.sql在gitattributes中决定将文件设置为什么.我见过人们用

*.sql diff=astextplain
*.sql diff
*.sql text=auto
Run Code Online (Sandbox Code Playgroud)

我被建议将其设置为第二个选项,但我只是想知道它与其他两个选项有什么区别.

git gitattributes

11
推荐指数
1
解决办法
4664
查看次数

为什么'git status'会忽略.gitattributes清理过滤器?

我有一个.gitattributes清理过滤器,用于在提交之前删除文件中的所有注释.

$ cat .git/config
[filter "cleancomments"]
    clean = "grep -v '^#'"

$ cat .gitattributes
*   filter=cleancomments
Run Code Online (Sandbox Code Playgroud)

我有一个文件'test',其中包含以下内容(在存储库中提交):

This is a file with random content
Run Code Online (Sandbox Code Playgroud)

现在我对'test'进行修改并添加注释:

This is a file with random content
# and some comments
# like this
Run Code Online (Sandbox Code Playgroud)

git status 现在告诉我:

modified:   test
Run Code Online (Sandbox Code Playgroud)

但是git diff是空的(应该如此).

我不完全清楚为什么git status不使用过滤器来决定文件是否被修改,但我认为这是它的实现方式.

对我来说真正神秘的是:

如果我这样做:

git add test
Run Code Online (Sandbox Code Playgroud)

然后突然文件'test'不再标记为已修改,并且它不会出现在git索引中.为什么是这样?

git gitattributes

10
推荐指数
1
解决办法
1234
查看次数