suchen

Heim  >  Fragen und Antworten  >  Hauptteil

github - Git 感觉无用/多余的 commit 状态可以删掉吗 ?

Git 还不怎么熟 , 我想问下 .
历史提交的commit , 如果以后这个项目目录太大 , 可以把一些历史状态删掉吗 ?

这样可以节省很多空间

世界只因有你世界只因有你2793 Tage vor834

Antworte allen(6)Ich werde antworten

  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:24:25

    1. 已经上传到服务器的提交,不论是 reset 还是 rebase 都会遭队友唾弃的;
    2. 多余的提交只会记录改动,如果都是正向的修改,并不会增加多少体积,反倒是所推荐的最佳实践策略;
    3. 有权限对服务器 reset 时,仅仅是让自己的本地跟服务器强行跳转到对应提交;队友还在原始位置,他们再次更新和提交的结果会很有戏剧性;
    4. rebase 在这种情况下针对自己本地和服务器还不错;队友那边就要骂娘了,又给老子整出来个新分支,一点也不美观的同时,本地提交冗余才真正的变多了...

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-02 09:24:25

    git rebase -i

    Antwort
    0
  • 为情所困

    为情所困2017-05-02 09:24:25

    有的,随便一找就能找到

    git reset --hard <commit_id>
    
    git push origin HEAD --force
    
    
    

    不过真心不建议这么做。

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-02 09:24:25

    @AlexChen 已经说了 通过 reset 命令来做:

     git reset --hard <SOME-COMMIT>
    

    这个命令的效果是撤销掉 这个 commit 之后的所有 commit。还可以通过 revert 命令来做:

    git revert <SOME-COMMIT>
    

    效果是撤销掉某一个提交。
    这么做风险的确很大,一定要慎重。

    Antwort
    0
  • PHPz

    PHPz2017-05-02 09:24:25

    印象中rebase命令可以合并掉多余的commit

    http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
    参考此文

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:24:25

    表示git commit只是保存文件变化,所以不会占用多少空间

    Antwort
    0
  • StornierenAntwort