【嵌入式开发 Linux 常用命令系列 4.2 -- git .gitignore 使用详细介绍】

文章目录

  • .gitignore 使用详细介绍
      • .gitignore 文件的位置
      • .gitignore 语法规则
      • 使用示例
      • 注意事项

.gitignore 使用详细介绍

.gitignore 文件是一个特殊的文本文件,它告诉 Git 哪些文件或目录是可以被忽略的,即不应该被纳入版本控制系统。这主要用于避免一些临时文件、构建输出、系统文件等被提交到仓库中,以保持仓库的干净和管理的简洁性。

.gitignore 文件的位置

.gitignore 文件通常位于 Git 仓库的根目录,但是也可以在仓库中的任何子目录中放置 .gitignore 文件以应用于特定的子目录。Git 会递归地查找并应用所有的 .gitignore 文件。

.gitignore 语法规则

  • 空白行:被忽略,可以用作分隔符以提高可读性。
  • # 开头的行:被视为注释,会被 Git 忽略。
  • 标准的 glob 模式:用于匹配文件名,可以使用通配符。
  • 以斜杠 / 开始:防止递归。
  • 以斜杠 / 结尾:指定目录。
  • 以感叹号 ! 开始:表示例外规则,不忽略此模式匹配的文件。

使用示例

下面是一个典型的 .gitignore 文件示例,展示了如何忽略特定文件和目录:

# 忽略所有 .log 文件 
*.log 

# 忽略临时文件夹,但不忽略 temp 文件夹下的 .txt 文件 
temp/* !temp/*.txt 

# 忽略所有 .pdf 文件,但不忽略 doc 文件夹中的 .pdf 文件 
*.pdf !doc/*.pdf 

# 忽略特定的文件 
config.env 

# 忽略 build 目录 
build/ # 

忽略 doc/notes.txt,但不忽略 doc/server/arch/notes.txt 
doc/notes.txt 

# 忽略 doc 目录下所有 .txt 文件(不递归) 
doc/*.txt 

# 忽略所有在任意位置的 TODO 文件 
TODO 

# 忽略一个目录中所有的子目录和文件(递归) 
node_modules/ 

注意事项

  • 一旦一个文件已经被纳入版本控制系统,.gitignore 对该文件就不再起作用。如果你想忽略已经被跟踪(tracked)的文件,首先需要使用命令 git rm --cached 将该文件从索引中移除。
  • .gitignore 只能阻止未跟踪的文件被添加到版本控制中,如果其他人的仓库中没有相应的 .gitignore 文件或规则,他们可能会将被忽略的文件添加到仓库中。
  • .gitignore 文件应该被添加到仓库中(使用 git add .gitignore),这样其他协作者也能应用相同的忽略规则。

通过合理设置 .gitignore 文件,你可以确保仅将必要的源代码和资源文件纳入版本控制,而不是项目生成的所有文件,这对于保持项目的整洁和减小仓库的大小非常重要。

你可能感兴趣的:(#,Linux,常用命令,git)