使用Git管理WordPress - 我应该忽略哪些文件?

12

过去的六个月左右,我一直在开发更接近于Web应用而不是全内容管理网站的Laravel项目。

最近我开始做一个WordPress项目,有一件事使我感到困惑,如何使用Git来管理WordPress?

我问这个问题是因为在Laravel中,你基本上可以推送除了node_modulesstorage和composervendor文件夹之外的所有东西。

我还读到过一个建议,不要将wp-config存储在代码仓库中,这很奇怪,因为Laravel使用一个.env文件来达到类似的效果。

我找到了下面这个.gitignore文件:

*.log
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/mu-plugins/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php
/.htaccess
/license.txt
/readme.html
/sitemap.xml
/sitemap.xml.gz

请修改问题以提出更具体的内容。如果您想知道哪些文件应该被忽略,请提出这个问题(在标题中也要说明)。 - isherwood
2个回答

7
Laravel的.env文件和WP的wp-config.php文件一样包含敏感数据,因此我们通常不会将其推入repo中。
至于我如何在WordPress中使用Git:
  • 我排除wp-config.php文件,开发人员克隆repo时不需要它:当他们在本地开发环境中处理项目时,可以自行填写凭据。另一个排除此文件的好理由是您不希望向世界暴露站点的详细信息(主机,数据库名称,用户名,密码,盐等)。
  • 我排除uploads文件夹。原因是在开发过程中,我们通常会向文章和页面添加虚拟图像,这些图像在网站最终准备好投入生产时都不会使用,因此没有必要用这些"污染"repo。
我喜欢Laravel的一件事情是由于迁移,数据库更改也可以被跟踪。另一方面,WordPress没有类似的东西,因此您将不得不找到插件(或其他方法)来使本地数据库与暂存数据库保持同步。 更新: 既然您更新了问题以询问哪些文件应特别从Git repo中排除,那么我认为您从那个.gitignore文件中找到的已经足够好了。我不认为需要忽略readme.txt文件,但也不会有任何危害。

你自己使用WordPress还是Laravel?我觉得我对Laravel生态系统太过熟悉了。 - Jesse Orange
你有没有和多个开发者一起在WordPress网站上工作过?我之前一直在用Laravel,后来才意识到这个框架实际上为你提供了多少便利。 - Jesse Orange
是的,我有。WordPress也非常多才多艺,而且背后还有一个伟大的社区。 - cabrerahector
总之,我可以放心地将整个东西推送到Git吗? - Jesse Orange
假设您正在使用来自您问题的 .gitignore 文件,是的。 - cabrerahector
显示剩余4条评论

7
以下内容可以忽略,但以下两项需要注意:
1. wp-content/themes/my-theme(您的主题和/或子主题) 2. wp-content/plugins/my-custom-plugin (您创建的任何自定义插件)
此外,我找到了两个非常好的WordPress gitignore文件来源。第一个非常直接,可以在gitignore.org上找到。第二个非常详细,由Sal Ferrarello提供,在此处找到:https://salferrarello.com/wordpress-gitignore/ 根据需要进行修改,并避免 config.php 文件。其中包含一些特定于安装的信息,如您的数据库主机和登录信息,您可能不希望它被他人看到。

2
为什么只使用自定义插件?如果不能使用版本控制来回滚错误的核心或插件更新,为什么要使用版本控制呢? - Hashim Aziz
@HashimAziz同样的问题,加上它有助于跟踪对插件直接进行的任何更改,这不是应该的方式。只是为了跟踪糟糕的代码更改。 - m4n0
@HashimAziz 你是指你自己的插件吗?为了可重用性,这些应该放在它们自己的存储库中。第三方插件不应该污染你的git历史记录。 - theking2
@theking2 为什么他们不应该“污染”git历史记录?为什么您认为能够使用版本控制跟踪和回滚未经授权的更改以及WordPress核心来跟踪第三方插件对您的网站非常重要?这是我一直在犹豫的事情,但我相信我和m4no关于为什么应该提交插件的观点是正确的,而且我还没有看到任何为什么不应该提交插件的好理由。 - Hashim Aziz
插件可能(希望)是多用途的,而不是针对某个特定网站。我会将主题文件夹放在一个仓库中,并为每个插件源创建一个仓库。编译版本的插件将在特定网站中组装。 - theking2
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接