繁体   English   中英

删除Git repo中的文件但文件不存在

[英]Removing a file in Git repo but file doesn't exist

在提交和推送到我的 repo 时,我收到以下错误: 在此处输入图片说明

问题是我已经手动删除了视频文件。 该视频在我的回购中的任何地方都不存在。 我还尝试git rm src/assets/video/Greensleeves并且它说fatal: pathspec src/assets/video/Greensleeves did not match any files

我怎样才能通过这个以便我可以提交/推送?

在此处输入图片说明

尝试应用新的git filter-repo ,它确实取代了旧的git filter-branch或 BFG

它有许多使用示例,包括基于路径的过滤,以便您在过去的提交中远程访问src/assets/video/Greensleeves文件:

要保留除这些路径之外的所有文件,只需添加--invert-paths

 git filter-repo --path src/assets/video/Greensleeves --invert-paths

然后git push --force (这确实会重写您存储库的历史记录,因此请确保通知任何其他合作者)

因为它必须在一个新的克隆上完成:

  1. 请勿触摸当前克隆文件夹的任何内容
  2. 创建存储库的单独克隆,在其中执行过滤器存储库
  3. 在第二个克隆中,现在已清理(其历史记录中不再有大文件),从您的第一个存储库导入您的工作

也就是说,对于第 3 点:

cd /path/to/second/clone
git --work-tree=/path/to/first/original/clone add .
git commit -m "Import work from first clone"
git push --force

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM