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

gclove
  • 1.4k

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

这样可以节省很多空间

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

有的,随便一找就能找到

git reset --hard <commit_id>

git push origin HEAD --force


不过真心不建议这么做。

Richard_Gao
  • 429

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

 git reset --hard <SOME-COMMIT>

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

git revert <SOME-COMMIT>

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进