git gc - aggressive push to server?

时间:2012-02-03 20:30:09

标签: git

似乎git gc --aggressive确实清理了我的回购,但当我做git push时,一切都已经是最新的。有没有办法清理服务器?

3 个答案:

答案 0 :(得分:17)

我知道Github会定期运行git gc,因为Github支持在this thread中提及。

我不知道你是否可以自己强迫它 我没有在Github hooks中看到这样的服务。

答案 1 :(得分:10)

我相信推送您的更改只会添加新提交(必要时可以到达您正在推送的分支机构);它不会删除它们。这由this github support page on deleting sensitive data证实:

  

请注意,强制推送不会清除远程存储库上的提交,它只是引入新的提交并将分支指针移动到指向它们。如果您担心用户直接通过SHA1访问错误提交,则必须删除存储库并重新创建它。

因此,如果您不能等待GitHub的定期gc,那么您必须重新创建。

答案 2 :(得分:6)

您还必须在服务器端运行相同的命令。大多数人只是建立一个cron工作或类似的工作,定期做这种家务。