如何重置远程GIT存储库以删除所有提交?

时间:2010-01-05 13:09:08

标签: git version-control

如何重置远程和本地GIT存储库以删除所有提交,并以当前Head作为初始提交重新开始。

4 个答案:

答案 0 :(得分:309)

完全重置?

  1. 在本地删除.git目录。

  2. 重新创建git repostory:

    $ cd (project-directory)
    $ git init
    $ (add some files)
    $ git add .
    $ git commit -m 'Initial commit'
    
  3. 推送到远程服务器,覆盖。记住,你要把其他人搞得一团糟......你最好成为唯一的客户。

    $ 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)

添加此内容:

git - resetting a remote repository

来自auxbuss - git - resetting a remote repository