清除GIT中的所有提交?

清除GIT中的所有提交?,git,commit,Git,Commit,我在服务器上创建了一个新的git repo,然后提交了所有文件。一旦提交了这些文件,我就创建了一个新的.gitignore文件并提交了它 我以错误的顺序进行了两次提交,因为最初的提交添加了大约30k个文件,而.gitignore文件没有任何影响。如果我能清除这两个提交,然后先提交.gitignore文件,希望它能显著减少文件量,并使repo更小 这可能吗?我从未将回购推送到BeanstalkApp(我们托管的git账户),所以希望这是可能的 谢谢 Danny您可以应用新的提交来删除不需要的文件。

我在服务器上创建了一个新的git repo,然后提交了所有文件。一旦提交了这些文件,我就创建了一个新的.gitignore文件并提交了它

我以错误的顺序进行了两次提交,因为最初的提交添加了大约30k个文件,而.gitignore文件没有任何影响。如果我能清除这两个提交,然后先提交.gitignore文件,希望它能显著减少文件量,并使repo更小

这可能吗?我从未将回购推送到BeanstalkApp(我们托管的git账户),所以希望这是可能的

谢谢


Danny

您可以应用新的提交来删除不需要的文件。从那时起,它们将按照.gitignore文件被忽略


或者,您可以尝试
git-rebase-i HEAD~2
并简单地删除初始提交。

如果您真的刚刚创建了repo,那么我建议您重新创建它——可以完全从git的修订历史中删除文件,但根据我的经验,这相当慢。

但这不会从修订历史中删除文件;因此,当用户克隆回购协议时,它们仍将被下载。对于不需要的30k文件,这可能是一个问题。我希望第二个选项可以从修订历史中删除这些文件,即交互式删除提交。当您执行“git gc”时,悬空提交将被垃圾收集,因此从那时起不会占用任何空间或带宽。这不是它的工作方式吗?所以运行'git rebase-i HEAD~2',然后运行'git gc'?@dannymcc:Yes,当编辑器打开提交列表时,删除包含要删除的提交的行。由于您刚刚创建了存储库,Peter Zion的答案可能更简单。但不要忘记,您不能以这种方式删除初始提交。重新创建它的最佳方式是什么?删除git文件夹并再次运行“git init”?是的,只需删除(或者更安全地移到别处)该.git文件夹,然后重新运行git init