我正在做一个关于 ML 的大学项目,该项目相当大,我通常不使用 github,但我需要格式化我的电脑,并且不信任我拥有的 Google Drive 备份,因此我想要第二个一个这样我就不会丢失任何代码。
我在 GitHub 桌面上使用 Git,我对 Git 不太了解,所以我很难上传这个项目,因为每次我尝试上传它时它都会断开连接,我很确定这是因为尺寸,有什么帮助吗?
我使用的IDE是PyCharm,Python版本是3.7,我已经创建了requirements.txt。
我尝试搜索预先制作的 git 忽略文件,但没有成功。
.gitignore 文件不会为您提供帮助 - 您需要从项目历史记录中删除依赖项。有两种方法可以做到这一点:
传统方式涉及git-filter-branch。我过去曾经这样做过一次。它有效,但很容易出错。
替代方法是使用BFG。我没有个人经验,但它似乎更容易使用,并且声称更快。所以如果我是你,我会尝试一下 BFG。
无论您尝试哪种方式,请进行本地备份!
完成重写历史记录后,您可以使用 .gitignore 来防止自己重新添加不需要的文件。
正如您自己已经感觉到的那样,Git 并不是真正适合处理像您所说的那样大的数据量(15.5GB)。您现在要做的最重要的事情是确定要跟踪哪些文件,以及哪些文件只是不需要版本控制的“二进制文件”。为此,您无需使用大脑以外的任何其他工具(但使用任何类型的文件浏览器环顾四周都会教您很多东西)。
决定保留什么
这里必须非常严厉。作为一般方法(可能有例外),请尝试排除以下文件:
创建 git 存储库
看起来你已经创建了一个 git 存储库,但除非你有非常重要的历史记录,否则我建议你从现在的位置重新开始。如果是为了一个大学项目,我可以想象你到目前为止失去你的历史也很好。如果丢失历史记录对您来说不好,则必须更改历史记录并从存储库中删除大文件(我不会向新的 Git 用户推荐这种危险的操作。更多信息可以在这篇SO 帖子中找到) ).
我建议启动一个新的存储库,因为我觉得你会通过这种方式学到更多东西,但如果你想改变你的历史记录,那就继续吧!
要启动新的存储库,请转到项目的根目录并将
.git
文件夹复制到某个位置作为备份。这通常是一个隐藏文件夹,它包含您的所有历史记录!
然后,删除此
.git
文件夹(确保您已将备份 .git
文件夹保存在某处)。
之后,执行
git init
命令。您有一个新的 git 存储库可以使用!输入 git status
将显示一堆未跟踪的文件。
填充你的 gitignore
我们现在要做的第一件事是在提交任何其他内容之前创建 .gitignore 文件。假设您在第一步中决定忽略以下内容:
在这种情况下,您应该创建一个名为
.gitignore
的文本文件(使用任何文本编辑器:您的 IDE 或记事本或任何东西)。使用您选择的文本编辑器打开它并在其中添加以下文本:
*.xlsx
build/*
*.log
现在保存文件。您已经创建了 .gitignore 文件!现在添加并提交文件(使用良好的提交消息)并输入
git status
。您应该不会看到任何不需要的文件出现!现在您可以提交所有其余文件(正确检查 git status
以查看 git 在提交之前没有跟踪不需要的文件!)并且您拥有一个干净的轻量级存储库。
维护你的 gitignore
项目过程中gitignore文件发生演变是正常的。如果新的文件类型/文件夹进入存储库中实际上不需要的项目,请毫不犹豫地在其中添加新行。