【问题标题】:How to extract folder from .gitignore?如何从 .gitignore 中提取文件夹?
【发布时间】:2020-08-24 07:50:34
【问题描述】:

伙计们,我不小心删除了自己的 django 项目,然后从 Github 克隆了它。但问题是,在推送之前,我已将我的虚拟环境文件夹添加到 .gitignore,现在无法提取/使用/激活它。有时我可以做什么?

【问题讨论】:

  • .gitignore 文件告诉 git 从版本控制中忽略某些文件和目录。如果您的 venv 在 .gitignore 文件中被引用,那么在推送到 github 时它会被忽略。您可以通过编辑 .gitignore 删除对您的 venv 的引用,但除非您有该文件的备份,否则恐怕它已经消失了。
  • 无论如何,您都不应该将虚拟环境添加到 git 中。只需从您的需求文件中重新创建它。
  • 鲍勃,你的问题能再清楚一点吗?请将其更新为状态 (1) 您是否与项目一起删除了虚拟环境文件夹,以及 (2) 您是否询问如何恢复环境或如何将其从 .gitignore 中删除,以便将来保存在 git 中?

标签: python django git github gitignore


【解决方案1】:

如果我清楚地理解了您的问题,您已经从您的个人资料中克隆了自己的 GitHub 存储库,但是在您的 .gitignore 文件中,您已指定您不想包含虚拟环境文件夹在 git 中

如果是这样,那么对不起,伙计,它可能与您的项目一起被删除了,它不会出现在您的新克隆中,因为它不在 git 中,正如您所要求的那样。

但我想你应该可以很容易地重新创建它,因为如果我没记错的话,所有细节都应该在你的 python requirements.txt 中,对吧?

希望对你有帮助。

【讨论】:

  • 问题不是关于文件.env,而是关于Python虚拟环境。但答案是正确的——没办法,必须重新重建环境。
  • 哦,好的。希望至少我证实了你的担忧。
  • 已修复。如果你是pythonista,如果我错了,请纠正最后一点。
【解决方案2】:

我希望您在某个时候将此文件夹添加到您的 git 存储库中,而不会写入 .gitignore-文件中。如果是这种情况,您可以将您的存储库“重置”为您想要的任何提交。

git clone <remote_address_here> my_repo
cd my_repo
git reset --hard COMMITHASH

您将通过输入 git log 变成 Commit-Hash,如下所示:1xffa3ac20ce2389c9180658fdba35f4a663d204

git-reset documentation

【讨论】:

  • 这将取回旧的虚拟环境文件夹,以及 repo 中的所有旧代码/文件。相反,您应该给出从先前提交中提取特定文件/目录的命令,仅此而已:git checkout &lt;commit-hash&gt; -- &lt;virtual-environment-folder-name&gt;
猜你喜欢
  • 2019-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2013-02-10
相关资源
最近更新 更多