15

我在 Laravel 有一个项目,我在公共目录中有论坛,我不想将它推送到存储库,所以我写在 .gitignore:

### Laravel ###
vendor/
node_modules/

# Laravel 5 & Lumen specific
bootstrap/cache/
.env.*.php
.env.php
.env

# SMF
public/forum/

# Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer
.rocketeer/

但是,该条目仍然出现在Git 状态
这是我的树:
+...
+ public
++ forum
+++...
+...
问题出在哪里?

目录结构 在此处输入图像描述

Git状态 在此处输入图像描述

4

4 回答 4

28

在 。gitignore添加

public/forum

git rm --cached -r public/forum
于 2016-08-18T10:45:09.623 回答
21

问题是这个文件夹已经在你的索引中(你在早些时候提交了它)。对索引中文件的更改将始终处于“git 状态”。只有该文件夹中的新文件将被忽略。

要解决这个问题。在https://stackoverflow.com/a/38304114/2274140上查看我的答案

于 2016-08-18T10:05:24.883 回答
0

万一其他人有这个问题并且像我一样想要将这些文件保留在那里,我只是:

  1. 将所有文件剪切/粘贴到我的存储库之外的不同文件夹中。
  2. 提交对 git 的更改(又名提交删除)
  3. 将文件粘贴回

很好,文件不再出现。希望您的情况类似。

于 2022-01-08T05:58:56.817 回答
-3

执行以下操作以触发gitignore

  1. 在要修复的存储库中提交所有待处理的更改并推送。

  2. 从 git 索引中删除所有内容以刷新您的 git 存储库。这是安全的。使用这个命令:

    git rm -r --cached .
    
  3. 将所有内容添加回 repo,可以使用以下命令完成:

    git add .
    
  4. 使用以下命令提交这些更改:

    git commit -m "Gitignore issue fixed"
    
于 2019-09-04T13:02:43.467 回答