你如何在git中下载文件? (我的意思是删除文件但保留其历史记录。)

时间:2013-08-16 02:50:23

标签: git

我有一个git项目。最新版本中已省略了一些源文件。我想从现在开始将它们从回购中删除,但到目前为止保留了它们的历史。即如果我查看昨天的回购,它最好有这些文件,否则就无法编译。

我知道它可能是“git rm”,但我现在有2个问题与git rm有关。一个是我找不到任何明确说“git rm保留文件在回购中的历史”的文档。我已经从我的工作目录中删除了这些文件,所以我怀疑我可以git rm文件甚至不存在。 (我可以复制它们,只是为了能够做一个git rm,但我想确保我做的事情是正确的。)

2 个答案:

答案 0 :(得分:7)

确实是git rm

当然它会保留文件历史记录。它在之前的提交中,所以你可以休息,确保它存在。

是的,您可以git rm您刚删除的文件,唯一的困难可能是您无法选项卡填写文件名,因为它们不存在。

git存储库中工作时,如果您记得执行git rm <file>而不是rm <file>然后git rm <file>,则会更容易。

作为git,出于其目的,“保留存储库中的文件历史记录”,当没有发生此行为时,更有可能看到注释。与设计相反的警告说明,例如“警告,此功能不保留存储库中的历史记录”,比说明git的选项确实保留文件历史记录更有可能。

答案 1 :(得分:1)

git rm删除文件,后续提交提交该文件的删除。删除是一个像其他任何变化,并由git跟踪。检查旧的仓库将恢复原来的仓库,包括不再位于树顶端的文件。