我将TFS服务器转移到GIT(Bitbucket)服务器。
我们目前正在使用git-tfs
来执行此操作,但我们在迁移之前正在进行一些测试(例如配置jenkins,检查所有内容是否已正确转移)。
现在的问题是,我现在似乎无法运行git push
命令,因为我已经填充了上一次运行中的大量内容。
有没有办法重置"存储库(就像我从未做过任何提交一样)?没有删除它?
我发现了这个问题:Clear git repository on Bitbucket?但问题是我已经做了6年的工作,有超过60个分支,所以我不能一个一个地清理它们。
我也不能只删除存储库,我们已经配置了很多东西(钩子,连接到jenkins,......)。
答案 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
将所有内容发送回服务器。