gpt4 book ai didi

gitignore - 作为开发人员,您是否使用 .gitignore 来忽略所有内容并有目的地包含?或者你只是排除它?

转载 作者:行者123 更新时间:2023-12-03 09:31:34 27 4
gpt4 key购买 nike

我们在这里进行了一次内部讨论,我们对在包含大量文件的项目(如 CMS)上使用 .gitignore 的最佳实践感到有些困惑。

方法一

方法 1 是有目的地 .gitignore 构建标准的所有文件。这通常会像这样开始:

# ignore everything in the root except the "wp-content" directory.
!wp-content/

# ignore everything in the "wp-content" directory, except:
# "mu-plugins", "plugins", "themes" directory
wp-content/*
!wp-content/mu-plugins/
!wp-content/plugins/
!wp-content/themes/

# ignore these plugins
wp-content/plugins/hello.php

# ignore specific themes
wp-content/themes/twenty*/

# ignore node dependency directories
node_modules/

# ignore log files and databases
*.log
*.sql
*.sqlite

一些员工喜欢这种方法,因为如果你在标准文件之外创建了一些东西,例如像 /build文件夹,然后它会被自动检测以包含在内。但是,编写自定义主题和插件需要您向该文件添加几个层,以“介入”您要保留的文件夹,并且通常该文件读起来有点困惑。

方法二

方法 2 忽略所有内容,然后将您想要的内容列入白名单。那看起来像
# Ignore everything, but all to descend into subdirectories
*
!*/

# root files
!/.gitignore
!/.htaccess.live
!/favicon.ico
!/robots.txt

# theme
!/wp-content/themes/mytheme/**
/wp-content/themes/mytheme/style.css # Ignore Compiled CSS
/wp-content/themes/mytheme/js # Ignore Compiled JS

# plugins
!/wp-content/plugins/my-plugin/**

# deployment resources
!/build/**

一些员工喜欢这样,因为它更干净,你必须有目的地添加一些东西(这会使意外添加更难),它实际上也显示了你的 .git 文件夹结构。

最佳做法是什么?你喜欢哪种方法,你会推荐一种方法而不是另一种方法?

最佳答案

第二种方法是最佳实践,当涉及排除gitignore规则的某些文件夹内容时。

它更好地反射(reflect)了以下规则:

It is not possible to re-include a file if a parent directory of that file is excluded.

从被忽略文件夹的子文件夹中排除文件(或所有文件)f ,你会这样做:

f/**
!f/**/
!f/a/sub/folder/someFile.txt

含义:您需要先将文件夹列入白名单,然后才能从 gitignore 文件中排除。

更清晰、更短(除非你有大量文件夹要列入白名单)

What if it is a Joomla install with a large amount of directories and files?
Or what if a core upgrade adds new files or folders



不要忘记您可以拥有多个 gitignore 文件,每个文件夹一个。
这意味着您可以混合和匹配这两种方法。

你有:
  • http://gitignore.io/ (当涉及到 Joomla application 时会列入黑名单)
  • github/gitignore (相同的方法 for Joomla)
  • 关于gitignore - 作为开发人员,您是否使用 .gitignore 来忽略所有内容并有目的地包含?或者你只是排除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57316698/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com