📜  如何清理 git 存储库并减小其磁盘大小 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:12.910000             🧑  作者: Mango

如何清理 Git 存储库并减小其磁盘大小 - Shell/Bash

如果您是 Git 存储库的管理员,那么您会发现存储库随着时间的推移会变得越来越臃肿,磁盘空间也会不断增长。为了避免这种情况,您可以使用以下 Shell/Bash 命令来清理 Git 存储库并减小其磁盘大小。

删除未跟踪的文件

如果您在编写代码时经常添加、修改和删除文件,那么您的存储库中可能会有大量未跟踪的文件。这些文件不仅浪费了磁盘空间,而且可能导致混淆和错误。

要删除未跟踪的文件,请运行以下命令:

$ git clean -fd

此命令将删除工作目录下的所有未跟踪文件和文件夹。请注意,这将不可逆转。

压缩存储库

当您使用 Git 存储库时,Git 会自动压缩存储库中的文件和文件夹,以便它们可以尽可能地高效地存储在磁盘上。不过,由于历史版本和大型文件等原因,存储库可能变得不够紧凑。

要压缩存储库,请运行以下命令:

$ git gc --aggressive --prune=now

此命令将使用 Git 的垃圾回收机制来压缩存储库。 --aggressive 标志将启用较慢但更彻底的压缩方法,而 --prune=now 标志将删除所有不必要的文件和对象。请注意,这可能需要很长时间,并且在其中任何一个命令执行期间不要中断。

移除大型文件

如果您的存储库包含大型文件(例如图像、视频、音频文件等),那么它们可能会占用大量磁盘空间并影响存储库的性能。特别是如果您的存储库主要用于文本文件,那么大型文件可能只是浪费空间。

要删除存储库中的大型文件,请运行以下命令:

$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch <file>' --prune-empty --tag-name-filter cat -- --all

<file> 替换为要删除的文件的文件名(路径)。此命令将重写存储库的历史记录,并从中删除指定的大型文件。请注意,这必须谨慎操作,并且将删除所有大型文件的历史记录。

结论

通过使用以上 Shell/Bash 命令,您可以清理 Git 存储库并减小其磁盘大小。请注意,在执行任何命令之前,请备份存储库,以防需要还原。