有这样一个问题,虽然很老,但似乎没有帮助。我有回购。在 repo 中,我有一个大约 6MB 的 gif 文件。它发生了,所以我推送了这个 GIF 的不同版本,显然它们都存储在 .git 文件夹中,这使得 git 文件夹的大小约为 40MB。
从我尝试按照链接问题中的建议运行的项目文件夹中:
git repack -a -d --depth=250 --window=250
Run Code Online (Sandbox Code Playgroud)
但这并没有影响 .git 文件夹的大小(我是否必须推动才能看到缩小的大小?)。我可以做些什么来减少 .git 文件夹的大小?
同样尝试git gc似乎没有减少 .git 文件夹的大小。
Uly*_* BN 10
一个hacky的解决方案:
git push # ensure that you push all your last commits from all branches, and
# take care about your stashes as well because we are going to delete
# everything.
cd ..
rm -rf online-shop
git clone --depth 1 git@github.com:giorgi-m/online-shop.git
Run Code Online (Sandbox Code Playgroud)
最后一行将克隆只有一个提交历史的存储库。
因此,您的.git文件夹会轻得多。但是,您的计算机上不会有完整的历史记录,这可能不是您想要的。
对于想要克隆您的应用程序的其他用户,您可以在README文件中告诉他们可以使用下一个命令来加快下载速度:
git clone --depth 1 git@github.com:giorgi-m/online-shop.git
Run Code Online (Sandbox Code Playgroud)
另一个解决方案是重写 history,将删除所有远程历史记录。你可以在这个答案中看到更多关于它的信息:
删除 .git 文件夹可能会导致 git 存储库出现问题。如果您想删除所有提交历史记录但将代码保持在当前状态,那么这样做是非常安全的,如下所示:
查看
Run Code Online (Sandbox Code Playgroud)git checkout --orphan latest_branch添加所有文件
Run Code Online (Sandbox Code Playgroud)git add -A提交更改
Run Code Online (Sandbox Code Playgroud)git commit -am "commit message"删除分支
Run Code Online (Sandbox Code Playgroud)git branch -D master将当前分支重命名为 master
Run Code Online (Sandbox Code Playgroud)git branch -m master最后,强制更新您的存储库
Run Code Online (Sandbox Code Playgroud)git push -f origin masterPS:这不会保留您旧的提交历史记录
| 归档时间: |
|
| 查看次数: |
5094 次 |
| 最近记录: |