问题描述
Git 还不怎么熟 , 我想问下 .历史提交的commit , 如果以后这个项目目录太大 , 可以把一些历史状态删掉吗 ?
这样可以节省很多空间
问题解答
回答1:已经上传到服务器的提交,不论是 reset 还是 rebase 都会遭队友唾弃的;多余的提交只会记录改动,如果都是正向的修改,并不会增加多少体积,反倒是所推荐的最佳实践策略;有权限对服务器 reset 时,仅仅是让自己的本地跟服务器强行跳转到对应提交;队友还在原始位置,他们再次更新和提交的结果会很有戏剧性;rebase 在这种情况下针对自己本地和服务器还不错;队友那边就要骂娘了,又给老子整出来个新分支,一点也不美观的同时,本地提交冗余才真正的变多了...回答2:git rebase -i回答3:
有的,随便一找就能找到
git reset --hard <commit_id>git push origin HEAD --force
不过真心不建议这么做。
回答4:@AlexChen 已经说了 通过 reset 命令来做:
git reset --hard <SOME-COMMIT>
这个命令的效果是撤销掉 这个 commit 之后的所有 commit。还可以通过 revert 命令来做:
git revert <SOME-COMMIT>
效果是撤销掉某一个提交。这么做风险的确很大,一定要慎重。
回答5:印象中rebase命令可以合并掉多余的commit
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html参考此文
回答6:表示git commit只是保存文件变化,所以不会占用多少空间