.gitignore文件是否属于.git文件夹结构中的某个地方或主源文件中?
当前回答
在简单的情况下,存储库的根目录中可能只有一个.gitignore文件,该文件递归地应用于整个存储库。但是,子目录中也可以有额外的.gitignore文件。这些嵌套的.gitignore文件中的规则仅适用于它们所在目录下的文件。Linux内核源存储库有206个.gitignore文件。
——这是我从progit.pdf(version 2) P32中读到的
其他回答
在简单的情况下,存储库的根目录中可能只有一个.gitignore文件,该文件递归地应用于整个存储库。但是,子目录中也可以有额外的.gitignore文件。这些嵌套的.gitignore文件中的规则仅适用于它们所在目录下的文件。Linux内核源存储库有206个.gitignore文件。
——这是我从progit.pdf(version 2) P32中读到的
来自官方文件:
Git从多个来源检查gitignore模式,优先级顺序如下(最后一个匹配模式决定结果):
模式从命令行读取支持它们的命令。 模式从与路径相同目录的.gitignore文件中读取,或者在任何父目录中读取(直到工作树的顶层),高级文件中的模式被低级别文件中的模式覆盖,直到包含该文件的目录。 从$GIT_DIR/info/exclude读取模式。 模式从配置变量core.excludesFile指定的文件中读取。
根目录可以放置.gitignore文件。
不要忘记使用git rm——cached FILENAME来添加文件到.gitignore,如果你在提交了一个你想忽略的文件的repo之后创建了gitignore文件。参见github文档。当我创建一个.env文件,然后提交它,然后尝试通过创建一个.gitignore文件来忽略它时,我发现了这一点。
将.gitignore放到工作目录中。如果你把它放在.git(存储库)目录中,它就不起作用了。
$ ls -1d .git*
.git
.gitignore
正如其他答案所述,您可以将.gitignore放置在Git存储库的任何目录中。但是,如果你需要一个。gitignore的私有版本,你可以将规则添加到.git/info/exclude文件中。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别