从没有本地副本的存储库中删除git文件

时间:2018-11-13 08:01:08

标签: git bitbucket

当您在磁盘上拥有存储库的本地副本时,使用git很明显,但是有时要求仅处理来自存储库已知地址的特定文件。

所以这里是:我的目标是删除给定回购中的单个文件或文件的已知列表-困难的部分是由于性能原因,我不想将整个存储库克隆到磁盘。我已经在使用bitbucket服务器api,但似乎没有办法。当然,我希望以后能在git中看到此操作作为提交。

1 个答案:

答案 0 :(得分:1)

所有git可变操作只能在工作树上工作。因此,如果要进行提交,则需要将其应用于工作树。这是驻留在您的本地计算机上还是其他地方都是相等的。但是git可执行文件需要文件系统访问权。您不会遇到这个限制。甚至似乎直接操作存储库的git命令(例如--filter-branch)也使用临时工作树。

但是,当您使用浅克隆--depth 1)而不是完整克隆时,可以加快速度。这快得多

请注意,您需要一个足够新的git版本才能正常工作。另请参见此处:Better support for shallow clones in git 1.9


另一个选择是在存储库服务器上创建一个为您完成这项工作的服务。由于主要流量现在是 local ,因此速度更快。 但是,当然不能使用诸如butbucket之类的第三方git服务器。