在 Git 中,一旦提交的文件夹在结帐时消失

in Git, once commited folder disappears on checkout

我是 Git 的新手,这是我的问题:我不小心添加了一个文件夹,其中包含对我的项目必不可少但未更改的文件(例如,已下载/)。我之前没有跟踪这个文件夹,它只是从提交到提交都保持不变。现在,在最后一次提交之后,当我检查之前的某个提交时,Downloaded/ 文件夹从文件管理器中消失了。

还原更改并恢复文件夹的正确方法是什么?我不想追踪它,也许我应该追踪它?

我试过这个:

git reset HEAD

还有这个:

git update-index --assume-unchanged Downloaded/

我可以解决这个问题 'manually',因为我有文件夹的备份。尽管如此,出于学习原因,我更喜欢在 git.

中进行

我将不胜感激!

您是否考虑过忽略此类文件,以避免出现此类错误? https://help.github.com/articles/ignoring-files/

你不必考虑允许提交哪些文件,这应该在 repo 中设置(例如使用 .gitignore、配置等)。

但是正如您所说,也许您应该跟踪它们,但这取决于您。这些文件属于 repo/project 吗?他们应该受版本控制吗?

对于临时目录(例如下载?),我会忽略它。

对于你的情况,我会:

  • 添加一个.gitignore文件
  • 然后使用 git rm --cached <file>
  • 从存储库中删除这些文件

其实差不多就是这样,你要找的是: gitignore after commit