如何重置远程和本地Git存储库以删除所有提交?
我想以当前的Head作为初始提交重新开始。
$ git push origin +master
并可选地删除本地和远程的所有其他分支:
$ git push origin :<branch> $ git branch -d <branch>
完全重置吗?
在本地删除.git目录。
.git
$ cd (project-directory) $ git init $ (add some files) $ git add . $ git commit -m 'Initial commit'
Push to remote server, overwriting. Remember you're going to mess everyone else up doing this … you better be the only client.
$ git remote add origin <url> $ git push --force --set-upstream origin master
如果我是你,我会这样做:
在做任何事情之前,请保留一份副本(安全总比遗憾好)
git checkout master git checkout -b temp git reset --hard <sha-1 of your first commit> git add . git commit -m 'Squash all commits in single one' git push origin temp
在此之后,您可以删除其他分支。
结果:您将拥有一个只有2个提交的分支。
使用git log --oneline以最简单的方式查看你的提交,并为提交找到SHA-1 !
git log --oneline