如何重置远程和本地GIT存储库以删除所有提交,并以当前Head作为初始提交重新开始。
答案 0 :(得分:309)
完全重置?
在本地删除.git
目录。
重新创建git repostory:
$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
推送到远程服务器,覆盖。记住,你要把其他人搞得一团糟......你最好成为唯一的客户。
$ git remote add origin <url>
$ git push --force --set-upstream origin master
答案 1 :(得分:5)
首先,按照this question中的说明将所有内容压缩到一次提交。 然后强制推动遥控器:
$ git push origin +master
并可选择在本地和远程删除所有其他分支:
$ git push origin :<branch>
$ git branch -d <branch>
答案 2 :(得分:3)
如果是我,我会做这样的事情:
在进行任何操作之前,请保留一份副本(安全胜于遗憾)
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提交!
答案 3 :(得分:0)