如何编写 .gitignore 以同时适用于后端和前端?

How to write .gitignore to work both for backend and frontend?

我的项目结构

drwxrwxr-x  7 jholmes jholmes 4096 дец 11 09:48 .
drwxr-xr-x 71 jholmes jholmes 4096 дец 22 18:08 ..
drwxrwxr-x 11 jholmes jholmes 4096 дец 10 11:54 backend
drwxrwxr-x  6 jholmes jholmes 4096 дец 22 18:08 frontend
drwxrwxr-x  8 jholmes jholmes 4096 дец 22 18:10 .git
-rw-rw-r--  1 jholmes jholmes  250 нов 25 12:25 .gitignore
drwxrwxr-x  4 jholmes jholmes 4096 дец 11 09:52 .history
-rw-rw-r--  1 jholmes jholmes   46 окт 27 11:35 README
drwxrwxr-x  2 jholmes jholmes 4096 дец  4 21:17 .vscode

我在前端添加了 .gitignore

drwxrwxr-x   2 jholmes jholmes   4096 дец 15 16:39 components
-rw-rw-r--   1 jholmes jholmes    248 дец 22 17:48 config.js
-rw-rw-r--   1 jholmes jholmes    193 дец 22 18:08 .gitignore
drwxrwxr-x   5 jholmes jholmes   4096 дец 15 17:07 .next
-rw-rw-r--   1 jholmes jholmes    170 дец 22 17:44 next.config.js
drwxrwxr-x 452 jholmes jholmes  20480 дец 15 16:44 node_modules
-rw-rw-r--   1 jholmes jholmes    407 дец 15 16:44 package.json
-rw-rw-r--   1 jholmes jholmes 225100 дец 15 16:44 package-lock.json
drwxrwxr-x   2 jholmes jholmes   4096 дец 15 16:40 pages

当我将我的存储库推送到 Github 时,我仍然上传了 .next 文件夹。这是我的前端

.gitignore

/node_modules

# testing
/coverage

# next.js
.next/
next.config.js

# production
/build

# misc
.DS_Store

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

如何处理多个文件夹?

似乎本应位于 .gitignore 中的文件夹已经成为 git 历史记录的一部分,因为它们是在添加 .gitignore 之前提交的。一种方法是通过 cd path/to/folder 和 运行 git rm -r --cached . 直接进入文件夹,这将从历史记录中删除当前目录,并取消提交文件。

但是,如果您在此之前提交过文件,在历史记录中它仍然会反映为删除。如果您忽略的是潜在的敏感信息,您应该将提交压缩到一起以清除痕迹。