如何删除所有提交并替换Git存储库中的初始提交?

时间:2017-09-01 19:10:45

标签: git github migration bitbucket git-commit

我们正在将一些存储库从GitHub移动到BitBucket,我们不想删除GitHub中的存储库,因为我们的问题跟踪器中仍然存在一些问题。我们正在等待this bug被解决,以便我们可以正确导出问题。所以现在我们只想删除存储库的所有历史记录,并作为初始提交插入一个非常小的README.md文件。

2 个答案:

答案 0 :(得分:1)

  1. 将工作目录复制到新目录。

  2. 在该目录中执行git init; git add.; git commit -m 'First Commit Message'

  3. 如果要将此新repo发布到其中一个远程服务器,只需将服务器作为远程服务器添加git remote add remote-name remote-URL,然后使用git push remote-name将服务器上传到您刚添加的远程服务器到新的repo并使用这个新repo的内容更新该远程。

    如果遥控器已在master分支上有内容,则可能需要-f orce push:git push -f remote-name

答案 1 :(得分:0)

使用此:

$ git reset --hard `git rev-list --max-parents=0 HEAD`
$ git rm -r '*'

然后是以下之一:

$ git commit --amend --allow-empty

或者如果你想使用README文件,请使用它,但在此之前,请用您首选的文本/代码编辑器替换vim,而不是README.md使用您想要的初始提交单一名称文件:

$ vim README.md
$ git add README.md
$ git commit --amend

我在thisthisthis StackOverflow答案的帮助下写了这个答案。