2010-11-08 57 views
8

我创建了新的远程git存储库,并且已经推出了一些内容 - 首先测试推送,然后从本地推送真正的代码。我想从零开始,所以我可以创建几个分支(主人=准备释放代码,测试分支和分支机构的开发人员),并给他们不同的权限,每个用户。我可以清空远程git存储库吗?

我可以以某种方式清空现有的远程存储库吗?这是一个远程git存储库,它位于linux和developer上,我运行windows box。

+0

你的问题有点不清楚。通过“推送内容”,你的意思是“推送到公众的偏远地区”,即发布?如果是这样,那么史蒂文徐的回答是合理的(尽管你也应该小心删除任何跟踪的隐藏文件),我质疑这比简单地完全开始更好。其他开发人员不需要变身,但他们会与* everything *产生合并冲突。我也对你的最终目标感到困惑 - 你在问创建分支机构并将它们交给开发人员......如果你明确你的意思,我可以给你一个更有帮助的答案。 – Cascabel 2010-11-08 00:43:38

+0

@Jefromi:我很乐意彻底地开始(在这种情况下,我想保留相同的存储库名称)或清空现有的远程存储库。哪个更容易....(我更新了我的问题) – Radek 2010-11-08 00:57:17

+1

只要你有文件系统访问权限,你也可以擦掉目录并重新创建回购。它很干净,不会影响其他开发者,而不是完全重写 - 无论哪种方式,他们都必须意识到这一点。 – Cascabel 2010-11-08 01:05:51

回答

3

如果你想回购走了,就把它拿走吧!删除整个包含的目录,并在您认为合适的时候重新创建它。

是的,你也可以在你的端做一个新的回购,并强制推送到远程,并远程删除所有的裁判,然后确保git gc得到运行...但这需要时间和精力。把它擦掉。

+0

在我的情况下效果很好。我可能还需要从未来的其他问题的东西.... – Radek 2010-11-08 22:49:16

7

我不认为这是非常有用的,但你可以通过

rm .git/index .git/refs/heads/master 
echo "Hello!" > README 
git add README 
git commit -m "Exterminate! Exterminate!" 

重新启动主分支(忘了所有的历史),并推到远程存储库。通常我会重新开始一个空的存储库,添加远程存储库并从那里推送。

一些解释:第一行删除索引(因此您的下一个提交将不包含任何文件)和当前指向主分支尖端的指针(这样您的下一个提交将不会被提交先前的提交)。在第二行和第三行中,我们将一些内容添加到我们的新存储库并在第四行中提交该内容。