git清理本地.git文件夹下的缓存

游戏对接安卓的工程越来越大,占用空间都有几十G了,经过查看目录发现,是项目根目录下的.git文件夹占用的内存,

git gc

git prune

用这两个命令可以清除.git下无用的缓存。

git gc

git gc是Git中用于垃圾回收(Garbage Collection)的命令。它的主要目的是通过清理和优化Git仓库的存储来提高性能和节省磁盘空间。具体来说,git gc会执行以下操作:

  • 删除不再需要的对象和引用:例如,删除已经被丢弃的提交对象(这些对象没有被任何分支或标签引用)。
  • 压缩对象:将多个小的对象文件合并成一个大的对象文件,从而节省空间。
  • 合并提交:将小的提交对象合并成一个较大的提交对象,以提高访问效率。
  • 优化数据库:整理和压缩Git对象数据库,提升仓库的整体性能。

通常情况下,Git会自动处理垃圾回收任务,不需要手动执行git gc。但在仓库变得非常大或者性能明显下降时,可以手动运行git gc来进行优化。

git prune

git prune命令是一个内部管理实用程序,用于清理无法访问或“孤立的”Git对象。无法访问的对象是指任何引用都无法访问的对象。任何无法通过分支或标记访问的提交都被视为无法访问。git prune通常不直接执行,而是作为git gc命令的子命令来运行。

git prune会删除那些不再被任何分支、标签或其他引用(如reflog)指向的对象。这有助于进一步减小Git仓库的大小,并释放磁盘空间。

需要注意的是,在执行git gcgit prune之前,建议备份仓库,以防止意外的数据丢失。

### 使用 Git 管理 Unity 项目的指南 #### 配置 .gitignore 文件 为了确保版本控制系统只跟踪必要的文件,在初始化仓库前应创建合适的 `.gitignore` 文件。对于 Unity 工程而言,忽略编译后的临时文件、用户特定设置以及大型二进制资源有助于保持存储库整洁高效[^1]。 ```bash # 忽略操作系统产生的缩略图缓存 Thumbs.db .DS_Store # 忽略Unity自动生成的日志和临时数据 Temp/ Library/ Logs/ # 忽略Visual Studio 用户配置 *.suo *.user ``` #### 初始化并克隆远程仓库 完成上述准备工作之后,可以在本地终端执行命令来启动一个新的 Git 版本控制环境,并关联到远端服务器上的空白项目空间: ```bash cd path/to/your/project git init git remote add origin https://github.com/user/repo.git git pull origin main ``` #### 提交更改至远程分支 当开发者完成了某些功能模块开发或者修复了一些 Bug 后,应当及时提交这些改动给团队成员共享。这一步骤涉及到了暂存区管理、撰写描述性的 commit message 和推送更新等操作: ```bash # 添加所有新修改过的文件进入索引阶段 git add . # 记录此次变更记录 git commit -m "feat: implemented player movement" # 将最新的commit推送到origin/main上 git push origin main ``` #### 解决冲突与同步最新代码 多人协作过程中难免会遇到不同人的工作发生重叠的情况,这时就需要通过拉取最新的上游变动并与当前副本合并的方式来解决潜在的差异问题;如果存在无法自动处理的地方,则需手动编辑源码直至消除分歧之处再继续推进流程。 ```bash # 获取来自远程主机的新提交历史 git fetch origin # 更新本地main分支使之匹配远程状态 git rebase origin/main # 如果出现conflict则按照提示修正后再运行下面两条指令之一 git add . git rebase --continue ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值