【问题标题】:Git commit showing untracked files in different directory altogetherGit 提交完全显示不同目录中的未跟踪文件
【发布时间】:2021-09-18 13:01:46
【问题描述】:

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

我把一个目录的 git remote 放到一个新目录中。然后我转到将存储库克隆到的原始目录并删除了原始远程。这是因为我要通过执行“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”。可以肯定的是我不小心删除了一堆重要的东西,但它(可能)值得一试。

非常感谢任何帮助!你们都是我的英雄

【问题讨论】:

  • 听起来你没有在外部的下面成功地创建了一个新的 Git 存储库。因此,当您认为自己在一个新的存储库中工作时,您实际上是在外部 Git 存储库中工作,就在您工作树的某个子目录中。

标签: git github init git-push git-untracked


【解决方案1】:

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

git rm -r --cached

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

【讨论】:

  • 感谢您的回答。 git rm -r --cached 删除了许多缓存文件,但是当我 git add 时,父目录中每个文件夹的标题仍然是未跟踪的文件。和 git commit -m "New commit" 出于某种原因
  • 首先,当您更改初始 git 目录并复制和删除文件时,您似乎变得疯狂 git(每个人一开始都做这种事情(我也是),别担心)。也许创建另一个克隆的干净的一个 repo 并复制粘贴您想要的文件,这可能是您保持一切正常和干净的一种解决方法。另一种可能性是继续挖掘你的小网格并尝试解决它,但这会很困难,这取决于你想要/必须花费的时间。我建议你学习 git 课程来了解 git 的工作原理......
猜你喜欢
  • 2017-12-30
  • 2013-09-01
  • 1970-01-01
  • 2011-06-04
  • 2017-01-16
  • 2021-11-01
  • 1970-01-01
  • 2016-12-26
  • 2016-12-19
相关资源
最近更新 更多