V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
Fule
V2EX  ›  git

有事没事运行一下 git gc 命令还是有好处的

  •  
  •   Fule · 2019-04-19 09:04:07 +08:00 · 9229 次点击
    这是一个创建于 2024 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 .git 目录原来有 280M 那么大,运行了 git gc --aggressive 之后变成了 185M,效果明显,推荐有电脑洁癖的人定期使用。

    20 条回复    2020-09-16 18:22:20 +08:00
    yplove156
        1
    yplove156  
       2019-04-19 09:13:28 +08:00
    有事没事运行一下 git push -f 命令还是挺爽的
    Cat73
        2
    Cat73  
       2019-04-19 09:19:51 +08:00
    没必要,gc 是自动运行的,如果哪天你发现丢了什么东西的时候,刚刚巧你刚执行过 gc,那就只有哭了😂
    Cat73
        3
    Cat73  
       2019-04-19 09:20:51 +08:00   ❤️ 9
    以及电脑洁癖是个很有意思的东东:
    啊浏览器缓存吃了 800M,不行我要清理下,啊系统日志吃了 200M 不行我要清理下
    啊这个小姐姐 40G,emmm 好好收藏
    Martin9
        4
    Martin9  
       2019-04-19 09:21:58 +08:00
    @Cat73 真实
    des
        5
    des  
       2019-04-19 09:24:20 +08:00
    等你丢文件你就哭了,我就丢过,还好用 git 找回来了
    Fule
        6
    Fule  
    OP
       2019-04-19 09:26:17 +08:00
    @yplove156 俺们 git 服务器上有控制,push -f 会失败的。哈哈。
    @Cat73 的确会自动运行,不过不知道什么时候会自动运行。风险嘛,肯定有啦,和清空回收站一样(上次清空 Win 10 回收站清了 40G...),很久之前很多人还有删文件习惯 shift 删,然后删错了后悔为何不删到回收站。呵呵。。
    Fule
        7
    Fule  
    OP
       2019-04-19 09:30:11 +08:00
    @des 一般风险就是玩 git 玩虚脱了的,要靠 git reflog 才能找回来东西。只要是正常分支上可见的东西,gc 应该不会有副作用的……吧(?)
    leon0903
        8
    leon0903  
       2019-04-19 09:30:37 +08:00
    @Cat73 卧槽 居然在 V2EX 也能看到这个头像, 老哥 求求你快看下你的 cat 邮箱, 我之前在 github 上的 mybatis-plus 看到你了,然后有一个问题想请教下,谢谢了。
    HubertYOU
        9
    HubertYOU  
       2019-04-19 09:47:06 +08:00
    净整些花里胡哨的
    muxiesan1989
        10
    muxiesan1989  
       2019-04-19 09:48:45 +08:00
    实际上,你并不需要手动调用 gc 命令。每当碎片对象过多,或者你向远端服务器发起推送的时候,Git 就会自动执行一次打包过程。
    Fule
        11
    Fule  
    OP
       2019-04-19 09:51:02 +08:00
    @muxiesan1989 嗯,文档里也说了,aggressive “偶尔”使用。我这就是“偶尔”使用。呵呵
    Tokin
        12
    Tokin  
       2019-04-19 10:01:43 +08:00   ❤️ 1
    rm -rf *
    拯救电脑洁癖,哈哈哈哈
    junbaor
        13
    junbaor  
       2019-04-19 10:19:32 +08:00
    @muxiesan1989 #10 确实会自动 gc ,我们代码库 2 个多 G, 每次着急推东西的时候 gc 几分钟,那酸爽... 后来就把自动 gc 关掉了
    agdhole
        14
    agdhole  
       2019-04-19 10:25:49 +08:00
    28G 估计可以考虑运行下,280M 有啥好整的
    32
        15
    32  
       2019-04-19 10:51:12 +08:00
    @Cat73 哪来的高清片源
    sighforever
        16
    sighforever  
       2019-04-19 11:23:22 +08:00
    gc 是不可能 gc 的,现在存储降价了,我再买一块硬盘
    Cat73
        17
    Cat73  
       2019-04-19 13:05:00 +08:00
    @32 #15 不可说不可说
    msg7086
        18
    msg7086  
       2019-04-19 13:51:59 +08:00
    @Fule #7 reflog 不一定要 git 玩虚脱才会用到。如果你执行了一些命令进行测试,而稍后需要回滚,有可回收提交会方便很多。

    PS: 我手头的 Git 图形界面会自动 gc,根本不需要手动做……
    ethanSong
        19
    ethanSong  
       2020-09-09 11:19:30 +08:00
    @Cat73 老哥,有没有资料详细讲关于 git 这块的,gc 这块的,网上搜的理解起来很吃力,我目前就是一个 30 多 g 的项目我 git add 之后,然后 git commit,提示 Auto packing the repository in background for optimum performance.
    See "git help gc" for manual housekeeping.然后卡在那里不动了,我也不太敢强制退出,所以想好好理解下 git 这方面底层的问题。
    Cat73
        20
    Cat73  
       2020-09-16 18:22:20 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2833 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:32 · PVG 22:32 · LAX 07:32 · JFK 10:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.