首页 > 解决方案 > Git 提交完全显示不同目录中的未跟踪文件

问题描述

第一次在这里为我发帖。通常可以很好地解决 git 问题,但这个问题真的让我很难过。

我把一个目录的 git 远程放到一个新目录中。然后我转到将存储库克隆到的原始目录并删除了原始远程。这是因为我打算通过执行“git init”将 express 添加到 package.json,按照提示(“版本”、“描述”等),当我到达“入口点”时,我打算做一个名为 app.js 的新文件将其全部放入,但键入的是 script.js,这是我之前一直在使用的 js 文件。

我不知道如何手动切换,所以我继续删除 git 遥控器,从目录中复制所有内容减去新的 package.json 并将其粘贴到新目录中,这样我就可以重新开始并制作一个新的 git init 在这里。

我在新目录中执行了新的 git init,创建了新的 package.json,然后尝试将其从包含新遥控器的文件夹推送到 Github 存储库,它说:

On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)

然后开始列出父目录中的每个文件夹,其中包含我所在的文件夹并尝试从中推送。这些都不应该在这个 repo 中跟踪。

我的正常流程只是 git add git commit -m "package.json" git push

但是由于我将 git remote 放在这个文件夹中,它要我做 git push master,我做了,然后说我需要做 git push --set upstream branch master,最终工作并推送代码。Github 告诉我比较和拉取请求已经准备好,所以我点击了它,现在它说“没有任何东西可以比较”。所以我不能合并它。

经过近 50 亿次不同的 Google 搜索后,我发现使用 ../ 制作一个 .gitignore 可能会奏效。这是我一开始就推动它的唯一方法。但现在它无法识别 .gitignore 并重新显示所有这些未跟踪的文件,这些文件实际上只是父目录中的其他文件夹。

不知道该怎么做,我希望我的解释是可以理解的。正如你可以想象的那样,我的大脑在这一点上感觉就像一个煎蛋,但我仍在努力继续尝试,直到它被修复。

还尝试在这个较新的目录和父目录中使用各种条目(例如 -c、-i、-fd)“git clean”。很确定我意外删除了一堆重要的东西,但它(可能)值得一试。

任何帮助是极大的赞赏!!你们都是我的英雄

标签: gitgithubinitgit-pushgit-untracked

解决方案


我认为这是因为 .gitignore 本身不会删除您在存储库中获得的文件/文件夹,您必须使用以下命令删除它们:

git rm -r --cached

之后,您可以执行git status命令以查看标记为删除的文件的输出。


推荐阅读