【发布时间】:2023-01-04 16:00:36
【问题描述】:
我最近不小心将多个大文件提交并推送到我的 git 存储库。删除它们后,我服务器上的 .git 文件夹大约有 32gb,影响了我的网站性能。我对实时站点没有未推送的更改。我是否可以简单地删除此文件夹以再次释放该空间,并且 git 会自动重新创建一个没有对那些大文件的引用的新文件夹?到目前为止,我不需要任何历史记录或过去更改的日志,所以我可以接受丢失这些信息。
【问题讨论】:
标签: git
我最近不小心将多个大文件提交并推送到我的 git 存储库。删除它们后,我服务器上的 .git 文件夹大约有 32gb,影响了我的网站性能。我对实时站点没有未推送的更改。我是否可以简单地删除此文件夹以再次释放该空间,并且 git 会自动重新创建一个没有对那些大文件的引用的新文件夹?到目前为止,我不需要任何历史记录或过去更改的日志,所以我可以接受丢失这些信息。
【问题讨论】:
标签: git
由于您已经将文件推送到存储库中,因此如果您尝试删除它们并再次克隆它们,它们仍会存在。但是您可以revert您之前推送的提交来完成您的要求。
【讨论】:
不,如果你删除 .git 文件夹你会破坏一切......
您必须从 git 历史记录中删除该文件。有很多教程可以删除文件或敏感数据......我个人建议:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository
【讨论】:
要撤消使用 Git 推送到远程存储库的提交,您可以使用 git revert 或 git reset 命令。以下是您可以遵循的步骤:
打开终端窗口并导航到要撤消提交的本地存储库。
使用 git log 查看提交历史并确定要撤消的提交。记下提交的 SHA 值,这是提交的唯一标识符。
要使用 git revert 撤消在特定提交中所做的更改,请使用以下命令:
git revert <commit-SHA>
例如,如果要撤消 SHA 123456 提交中所做的更改,可以使用以下命令:
git revert 123456
这将创建一个新的提交,撤消在指定提交中所做的更改。
git reset HEAD~<number-of-commits>
例如,如果要撤消最近的两次提交,可以使用以下命令:
git reset HEAD~2
这会将分支指针移动到该提交。
【讨论】: