.gitignore的一些规则和根本用法

打印 上一主题 下一主题

主题 901|帖子 901|积分 2703

.gitignore 文件用于告诉 Git 哪些文件或目录应该被忽略,不纳入版本控制。以下是 .gitignore 文件的简朴规则和一些常用的忽略风俗。
.gitignore 根本规则


  • 注释和空行

    • 以 # 开头的行是注释。
    • 空行会被忽略,用于提高可读性。
    1. # 这是一个注释
    复制代码

  • 忽略特定文件或目录

    • 直接写文件或目录名即可忽略它们。
    1. debug.log
    2. /temp
    复制代码

  • 通配符

    • * 匹配零个或多个任意字符。
    • ? 匹配单个任意字符。
    • ** 匹配任意目录层级。
    1. *.log        # 忽略所有 .log 文件
    2. build/       # 忽略 build 目录及其所有内容
    3. *.DS_Store
    4.    # 忽略所有 .DS_Store
    5. 文件(macOS)
    复制代码

  • 否定模式

    • 使用 ! 来取消忽略某个文件或目录。
    1. *.js
    2. !main.js      # 忽略所有 .js 文件,除了 main.js
    复制代码

  • 目录和子目录

    • 以 / 末端表示目录。
    1. /node_modules/  # 只忽略根目录下的 node_modules
    复制代码

  • 转义特殊字符

    • 使用 \ 来转义特殊字符,如 !、# 等。
    1. \!important.txt  # 忽略名为 !important.txt 的文件
    复制代码

常用的 .gitignore 忽略项

以下是一些常见的忽略项,适用于大多数项目。你可以根据具体需求进行调解。
操纵体系文件



  • macOS
    1. .DS_Store
    复制代码
  • Windows
    1. Thumbs.db
    2. ehthumbs.db
    复制代码
  • Linux
    通常不需要特殊处理,但可以忽略一些临时文件:
    1. *~
    复制代码
开发工具和IDE文件



  • Visual Studio Code
    1. .vscode/
    复制代码
  • IntelliJ IDEA
    1. .idea/
    2. *.iml
    复制代码
  • Sublime Text
    1. *.sublime-project
    2. *.sublime-workspace
    复制代码
编程语言和框架相干



  • Node.js
    1. node_modules/
    2. npm-debug.log*
    3. yarn-debug.log*
    4. yarn-error.log*
    复制代码
  • Python
    1. __pycache__/
    2. *.py[cod]
    3. *.egg
    4. *.egg-info/
    5. dist/
    6. build/
    复制代码
  • Java
    1. *.class
    2. *.jar
    3. *.war
    4. *.ear
    5. target/
    复制代码
  • Ruby
    1. *.gem
    2. .bundle/
    3. log/
    4. tmp/
    复制代码
  • Go
    1. /bin/
    2. /pkg/
    复制代码
构建和发布文件

  1. /dist
  2. /build
  3. /out
复制代码
日记和临时文件

  1. *.log
  2. *.tmp
  3. *.swp
复制代码
环境配置文件

通常需要保留环境配置文件的模板,而实际的配置文件则忽略。例如:
  1. .env
  2. !.env.example
复制代码
创建和编辑 .gitignore


  • 创建 .gitignore 文件
    在项目根目录下创建一个名为 .gitignore 的文件:
    1. touch .gitignore
    复制代码
  • 编辑 .gitignore 文件
    使用你喜好的编辑器打开并添加需要忽略的规则。例如:
    1. # 操纵体系文件.DS_Store
    2. Thumbs.db# Node.js 相干node_modules/npm-debug.log*# IDE 文件.vscode/
    复制代码
  • 应用 .gitignore 规则
    假如你已经有一些被忽略的文件被 Git 跟踪了,需要先将它们从缓存中移除:
    1. git rm -r --cached .
    2. git add .
    3. git commit -m "更新 .gitignore 并移除被忽略的文件"
    复制代码
  1. git rm -r --cached .
复制代码
这个命令的目的是将当前目录下所有被 Git 跟踪的文件从暂存区中移除,但保留它们在本地工作目录中的实际存在。这一步调是为了让 Git 重新识别哪些文件应该被跟踪,哪些应该被忽略(根据更新后的 .gitignore 文件)。
别的:
使用 git ls-files
查看当前被 Git 跟踪的文件,确保哪些文件需要被移除或保留。
  1. git ls-files
复制代码
使用预定义的 .gitignore 模板

GitHub 提供了丰富的 .gitignore 模板,适用于各种编程语言和框架。你可以访问 GitHub’s gitignore repository 获取合适的模板,并根据需要进行调解。
例如,创建一个 Node.js 项目的 .gitignore:
  1. curl https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore -o .gitignore
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表