如何重置远程和本地Git存储库以删除所有提交?
我想以当前Head作为初始提交开始全新的工作。
如何重置远程和本地Git存储库以删除所有提交?
我想以当前Head作为初始提交开始全新的工作。
完全重置?
在本地删除 .git
目录。
重新创建 Git 仓库:
$ 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
git commit -m'Initial commit'
命令的末尾加上--allow-empty
标志。请注意,此翻译保留了原文的意思,并尽可能地简化和澄清了表达方式。 - user2005477git push --force --set-upstream origin master
,但其他所有内容都按照描述正常工作。 - Sébastien Stormacq首先,按照这个问题中的说明将所有内容压缩为单个提交。 然后强制将其推送到远程:
$ git push origin +master
可以选择删除本地和远程的所有其他分支:
$ git push origin :<branch>
$ git branch -d <branch>
如果我是你,我会这样做:
在进行任何操作之前,请务必备份(谨慎总比后悔好)。
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哈希值!