github 删除历史提交记录的可行方案
删除历史版本
亲自研究发现的可行方案
一、创建新分支,复制所有内容并提交
获取最新 : git pull origin master
切换分支:git checkout --orphan master-new
添加到暂存区:git add -A
提交更改: git commit -am "commit message"
强制提交到远程仓库:git push -f origin master-new
git pull origin master
git checkout --orphan master-new
git add -A
git commit -am "commit message"
git push -f origin master-new
此时,github上面就有这个分支,并且,提交记录只有一个
二、修改默认分支
三、删除分支 master
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push origin :refs/heads/master
这个命令来自sourcetree的删除远程分支
四、总结
步骤是:新增分支->复制内容->更换默认分支->删除旧分支
如此新的分支master-new创建完成,里面的提交记录也是最新的。
唯一的缺点是分支的名称变了。
如果需要恢复成之前的分支,只能按照上面的步骤重来一遍。只不过现在是 将 master-new 改成 master