首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解.gitignore

了解.gitignore
EN

Stack Overflow用户
提问于 2013-05-14 15:15:32
回答 2查看 949关注 0票数 4

我的根目录中有一个.gitignore文件。规则是忽略所有.txt文件。在我的根目录中,我有两个文件,即something.py和anything.txt。

我在编写.gitignore之后创建了anything.txt文件。

因此,现在,当我发出git add *(在两个文件中进行更改之后)时,它抛出以下消息:以下路径被您的.gitignore文件anything.txt忽略。致命:未添加任何文件。

但是,当我显式添加something.py时,它就被添加了..

那么,即使在.gitignore文件中没有提到,为什么git add *没有添加这个.py呢?

EN

回答 2

Stack Overflow用户

发布于 2013-05-14 15:23:16

当您键入命令git add *时,shell会将其展开以匹配当前目录中的所有非隐藏文件。在您的例子中,它变成了git add something.py anything.txt

Git认为您想要在.gitignore中添加一个与条目*.txt匹配的文件(anything.txt)。这就是它抛出错误的原因。命令失败,未添加任何文件。

要添加项目中的所有文件,您不能依赖于行为(* shell扩展)。您应该使用git add -A或更好的方法,单独添加文件的每个逻辑包。

票数 3
EN

Stack Overflow用户

发布于 2013-05-14 15:22:57

这就是它的工作原理:.gitignore是一种简单的机制,它可以告诉你哪些文件类型不应该添加到你的存储库中。

例如,添加*.txt表示您不想添加文本文件。但它没有提到任何关于python文件的内容,它们将像往常一样添加。

您可以使用git add -f file_or_dir覆盖.gitignore。如果你在.txt被忽略的情况下尝试git add something.txt,除非你使用-f,否则git会警告你并拒绝这样做。

使用git add *将尝试添加当前目录中的所有文件,包括.txt,这将导致警告。您可以使用git add .来避免这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16537192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档