清除Git存储库

时间:2017-01-10 09:07:04

标签: git tfs bitbucket git-tfs

我将TFS服务器转移到GIT(Bitbucket)服务器。

我们目前正在使用git-tfs来执行此操作,但我们在迁移之前正在进行一些测试(例如配置jenkins,检查所有内容是否已正确转移)。

现在的问题是,我现在似乎无法运行git push命令,因为我已经填充了上一次运行中的大量内容。

有没有办法重置"存储库(就像我从未做过任何提交一样)?没有删除它?

我发现了这个问题:Clear git repository on Bitbucket?但问题是我已经做了6年的工作,有超过60个分支,所以我不能一个一个地清理它们。

我也不能只删除存储库,我们已经配置了很多东西(钩子,连接到jenkins,......)。

1 个答案:

答案 0 :(得分:1)

这实际上取决于TFS版本/ bitbucket。您可以删除所有分支和标记,并将Master重置为第一次提交以获得干净的平板。但是,根据您的TFS服务器版本,这实际上可能不会导致收集“垃圾”。我不确定BitBucket上的垃圾收集策略。

GFS垃圾收集在TFS 2015更新3中引入,旧版本实际上不会清理服务器上的任何内容,即使您已删除对它的所有引用。

您可以轻松编写清理过程的脚本。使用git fetch --all确保您的本地仓库包含所有分支信息,然后使用git branch --list -r列出所有远程分支。通过它,您可以轻松地删除这些分支并将其删除到服务器。

Then use git update-ref refs/heads/master a12d48e2 (insert your own commitish) to reset the master.

然后git push --force --all将所有内容发送回服务器。