git怎样忽略指定文件以及gitignore相关知识

打印 上一主题 下一主题

主题 838|帖子 838|积分 2514

git怎样忽略指定文件

   文章概要:本文重要先容了git中怎样忽略指定文件,包罗已经commit了的文件。解释了gitignore文件的写法以及提供了常见的gitignore模版。
    本文内容来自:谷流仓AI - ai.guliucang.com
  在寻常写代码使用git的过程中,我们项目有些文件是不适合提交到堆栈的,因此需要让git忽略这些文件, 清除对这些文件的跟踪。文末附录部分会附上一些常见的前后端需要忽略的文件。下面开始讲解怎样操作:
一、修改.gitignore文件


  • 创建.gitignore文件
    一样平常在创建项目的时候会自动在项目根目次创建.gitignore文件,正如其名称,这个文件就是用来指定忽略跟踪哪些文件的。假如没有这个文件,就在堆栈的根目次创建一个。
  • 将需要的清除跟踪的文件大概文件夹加入.gitignore文件中
    好比项目中node_modules文件夹不需要追踪,那么就可以在.gitignore文件中加入node_modules即可。
  • 假如文件已经commit了,那么还需要删除在git中的记载,输入如下命令
    1. git rm --cached 你的文件
    复制代码
    好比删除src/main/resources/application-prod.yml文件的跟踪:
    1. git rm --cached src/main/resources/application-prod.yml
    复制代码
    然后提交修改即可:
    1. git add .gitignore
    2. git commit -m "更新.gitignore以忽略特定文件"
    复制代码
二、详解.gitignore文件

.gitignore 文件用于告诉 Git 哪些文件或目次是不需要加入版本控制的,即可以被忽略的。这对于清除编译产物、日志文件大概包管理器下载的依靠等是非常有用的。.gitignore 支持以下规则:

  • 空行 大概以 # 开头的行会被忽略。
  • 可以使用标准的 glob 模式匹配。

    • 星号 * 匹配零个或多个任意字符
    • [abc] 匹配任何一个列在括号中的字符(比方:a、b 或 c)
    • 问号 ? 匹配一个任意字符
    • 假如在方括号表达式中使用短划线(如 [0-9]),表现范围(比方:匹配任何数字)。
    • 使用双星号 ** 表现匹配任意中心目次,比方 a/**/z 可以匹配 a/z, a/b/z, 或 a/b/c/z

  • 正斜杠 / 用来防止递归。
  • 要忽略指定路径下的文件,可以在路径前加上斜杠 /(相对于 .gitignore 文件所在位置),好比 /temp/* 仅忽略项目根目次下的 temp 目次内的所有文件。
  • 要包含特定文件或目次,请在模式前加上感叹号 ! 来取反。
你可以查阅更多 .gitignore 规则和使用方法:


  • Git 官方文档: 访问 Git 官网 的文档部分并搜刮 .gitignore, 此中提供了关于 .gitignore 文件怎样工作和怎样编写规则的官方说明。
  • GitHub 的 .gitignore 模板: GitHub 提供了各种语言和情况下通用的 .gitignore 模板。你可以访问 github/gitignore 这个堆栈来找到适合你项目需求的模板。
记得,在创建新堆栈或向现有堆栈添加新类型文件时,正确设置 .gitignore 是一个好习惯,可以避免一些不必要的题目。
三、常见的.gitignore模版


  • 前端项目通用模版
  1. # Logs
  2. logs
  3. *.log
  4. npm-debug.log*
  5. yarn-debug.log*
  6. yarn-error.log*
  7. pnpm-debug.log*
  8. lerna-debug.log*
  9. node_modules
  10. .DS_Store
  11. dist
  12. dist-ssr
  13. coverage
  14. *.local
  15. # unplugin-auto-import
  16. auto-imports.d.ts
  17. components.d.ts
  18. .eslintrc-auto-import.json
  19. /cypress/videos/
  20. /cypress/screenshots/
  21. # Editor directories and files
  22. .idea
  23. *.suo
  24. *.ntvs*
  25. *.njsproj
  26. *.sln
  27. *.sw?
  28. # .env
  29. .env.development
  30. .env.production
复制代码

  • 常见后端模版(JAVA)
  1. HELP.md
  2. /target/
  3. /**/target/
  4. !.mvn/wrapper/maven-wrapper.jar
  5. ### STS ###
  6. .apt_generated
  7. .classpath
  8. .factorypath
  9. .project
  10. .settings
  11. .springBeans
  12. .sts4-cache
  13. ### IntelliJ IDEA ###
  14. .idea
  15. *.iws
  16. *.iml
  17. *.ipr
  18. ### NetBeans ###
  19. /nbproject/private/
  20. /nbbuild/
  21. /dist/
  22. /nbdist/
  23. /.nb-gradle/
  24. /build/
  25. ### VS Code ###
  26. .vscode/
  27. rebel-remote.xml
  28. rebel.xml
  29. ### customize ###
  30. # 如果是上传到公共仓库,像application.yml这种如果写了各种密码信息的就不要上传了
  31. # 留个template就行了
  32. application-dev.yml
  33. application-prod.yml
  34. /logs
  35. # 如果.gitignore文件本身也不想跟踪的话,就把下面的填上
  36. .gitignore
复制代码

  • 常见python项目模版
  1. *.py[cod]
  2. data/*
  3. *.log
  4. venv
  5. .venv
  6. .idea
  7. # C extensions
  8. *.so
  9. # Packages
  10. *.egg
  11. *.egg-info
  12. dist
  13. build
  14. eggs
  15. parts
  16. bin
  17. var
  18. sdist
  19. develop-eggs
  20. .installed.cfg
  21. lib
  22. lib64
  23. __pycache__
  24. # Installer logs
  25. docs/_build
  26. build/*
  27. *.buildinfo
  28. # files
  29. *.mp3
  30. *.m4a
  31. *.wav
  32. *.png
  33. *.jpg
  34. *.flac
  35. *.mo
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

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

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表